diff --git a/Makefile b/Makefile index 6c51c48a989..970d039ecb6 100644 --- a/Makefile +++ b/Makefile @@ -527,28 +527,6 @@ envoy-wrapper-distroless-docker: $(ENVOYINIT_OUTPUT_DIR)/envoyinit-linux-$(GOARC --build-arg BASE_IMAGE=$(GLOO_DISTROLESS_BASE_WITH_UTILS_IMAGE) \ -t $(IMAGE_REGISTRY)/$(ENVOYINIT_IMAGE_REPO):$(VERSION)-distroless -#---------------------------------------------------------------------------------- -# Deployment Manifests / Helm -#---------------------------------------------------------------------------------- - -HELM_SYNC_DIR := $(OUTPUT_DIR)/helm -HELM_DIR := install/helm/gloo - -.PHONY: generate-helm-files -generate-helm-files: $(OUTPUT_DIR)/.helm-prepared ## Generates required helm files - -HELM_PREPARED_INPUT := $(HELM_DIR)/generate.go $(wildcard $(HELM_DIR)/generate/*.go) -$(OUTPUT_DIR)/.helm-prepared: $(HELM_PREPARED_INPUT) - mkdir -p $(HELM_SYNC_DIR)/charts - IMAGE_REGISTRY=$(IMAGE_REGISTRY) go run $(HELM_DIR)/generate.go --version $(VERSION) --generate-helm-docs - touch $@ - -.PHONY: package-chart -package-chart: generate-helm-files - mkdir -p $(HELM_SYNC_DIR)/charts - helm package --destination $(HELM_SYNC_DIR)/charts $(HELM_DIR) - helm repo index $(HELM_SYNC_DIR) - #---------------------------------------------------------------------------------- # Release #---------------------------------------------------------------------------------- @@ -585,48 +563,24 @@ export VERSION # controller variable for the "Publish Artifacts" section. Defines which targets exist. Possible Values: NONE, RELEASE, PULL_REQUEST PUBLISH_CONTEXT ?= NONE -# specify which bucket to upload helm chart to -HELM_BUCKET ?= gs://solo-public-tagged-helm # define empty publish targets so calls won't fail .PHONY: publish-docker .PHONY: publish-docker-retag -.PHONY: publish-glooctl -.PHONY: publish-helm-chart # don't define Publish Artifacts Targets if we don't have a release context ifneq (,$(filter $(PUBLISH_CONTEXT),RELEASE PULL_REQUEST)) ifeq (RELEASE, $(PUBLISH_CONTEXT)) # RELEASE contexts have additional make targets -HELM_BUCKET := gs://solo-public-helm # Re-tag docker images previously pushed to the ORIGINAL_IMAGE_REGISTRY, # and push them to a secondary repository, defined at IMAGE_REGISTRY publish-docker-retag: docker-retag docker-push -# publish glooctl -publish-glooctl: build-cli - VERSION=$(VERSION) GO111MODULE=on go run ci/upload_github_release_assets.go false -else -# dry run publish glooctl -publish-glooctl: build-cli - VERSION=$(VERSION) GO111MODULE=on go run ci/upload_github_release_assets.go true endif # RELEASE exclusive make targets # Build and push docker images to the defined $(IMAGE_REGISTRY) publish-docker: docker docker-push -# create a new helm chart and publish it to $(HELM_BUCKET) -publish-helm-chart: generate-helm-files - @echo "Uploading helm chart to $(HELM_BUCKET) with name gloo-$(VERSION).tgz" - until $$(GENERATION=$$(gsutil ls -a $(HELM_BUCKET)/index.yaml | tail -1 | cut -f2 -d '#') && \ - gsutil cp -v $(HELM_BUCKET)/index.yaml $(HELM_SYNC_DIR)/index.yaml && \ - helm package --destination $(HELM_SYNC_DIR)/charts $(HELM_DIR) >> /dev/null && \ - helm repo index $(HELM_SYNC_DIR) --merge $(HELM_SYNC_DIR)/index.yaml && \ - gsutil -m rsync $(HELM_SYNC_DIR)/charts $(HELM_BUCKET)/charts && \ - gsutil -h x-goog-if-generation-match:"$$GENERATION" cp $(HELM_SYNC_DIR)/index.yaml $(HELM_BUCKET)/index.yaml); do \ - echo "Failed to upload new helm index (updated helm index since last download?). Trying again"; \ - sleep 2; \ - done endif # Publish Artifact Targets GORELEASER_ARGS ?= --snapshot --clean @@ -835,13 +789,6 @@ kind-list-images: ## List solo-io images in the kind cluster named {CLUSTER_NAME kind-prune-images: ## Remove images in the kind cluster named {CLUSTER_NAME} docker exec -ti $(CLUSTER_NAME)-control-plane crictl rmi --prune -.PHONY: build-test-chart -build-test-chart: ## Build the Helm chart and place it in the _test directory - mkdir -p $(TEST_ASSET_DIR) - GO111MODULE=on go run $(HELM_DIR)/generate.go --version $(VERSION) - helm package --destination $(TEST_ASSET_DIR) $(HELM_DIR) - helm repo index $(TEST_ASSET_DIR) - #---------------------------------------------------------------------------------- # Targets for running Kubernetes Gateway API conformance tests #---------------------------------------------------------------------------------- diff --git a/install/helm/README.md b/install/helm/README.md index 28ddc5b9bed..d544cd558f9 100644 --- a/install/helm/README.md +++ b/install/helm/README.md @@ -4,43 +4,8 @@ This directory contains the resources to deploy the project via [Helm](https://h ## Directory Structure -- `gloo`: contains the legacy Gloo chart that will be replaced by the kgateway chart - `kgateway`: contains the WIP kgateway chart ### /kgateway The kgateway chart contains the new Kubernetes Gateway API implementation. The RBAC configurations in `templates/rbac.yaml` are generated from the API definitions in `projects/gateway2/api/v1alpha1` using kubebuilder's controller-gen tool. - -### /gloo - -#### generate.go - -This go script takes the `*-template.yaml` files in this directory and performs value substitutions -to generate the following files: - -- `Chart.yaml`: contains information about the K8s Gateway chart -- `values.yaml`: default configuration values for the chart - -Check the [K8s Gateway docs](https://docs.solo.io/k8s-gateway/latest/installation/) -for a description of the different installation options. - -#### /crds -This directory contains the K8s Gateway `CustomResourceDefinitions`. This is the -[required location](https://helm.sh/docs/topics/charts/#custom-resource-definitions-crds) for CRDs in Helm 3 charts. - -#### /templates -This directory contains the Helm templates used to generate the K8s Gateway manifests. - -## Helm-centric commands for the legacy Gloo chart - -Relevant commands to helm, meant to be run from the **root of this repository** - -```bash -# VERSION is an optional environment variable. If not specified, a default will be computed -VERSION=$VERSION make generate-helm-files # generate `Chart.yaml` and `values.yaml` files -VERSION=$VERSION make package-chart # package a helm chart to `_output/charts` directory (used for releasing) -VERSION=$VERSION make build-test-chart # package a helm chart to `_test` directory (used for testing) - -helm install gloo gloo/gloo # install Gloo Edge using Helm -TEST_PKG=install/test make test # run all tests in this project -``` diff --git a/install/helm/gloo/.gitignore b/install/helm/gloo/.gitignore deleted file mode 100644 index 532616a6305..00000000000 --- a/install/helm/gloo/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -# Generated -values.yaml -Chart.yaml -values-knative.yaml -values-ingress.yaml diff --git a/install/helm/gloo/.helmignore b/install/helm/gloo/.helmignore deleted file mode 100644 index 507179caa13..00000000000 --- a/install/helm/gloo/.helmignore +++ /dev/null @@ -1,33 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ - -# template files -*-template.yaml - -# generator files -*.go -generate/ - -# READMEs -README.md diff --git a/install/helm/gloo/Chart-template.yaml b/install/helm/gloo/Chart-template.yaml deleted file mode 100644 index bef40a589ab..00000000000 --- a/install/helm/gloo/Chart-template.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v2 -description: Gloo Helm chart for Kubernetes -name: gloo -home: https://gloo.solo.io/ -icon: https://raw.githubusercontent.com/solo-io/gloo/main/docs/content/img/Gloo-01.png -sources: - - https://github.com/solo-io/gloo -keywords: - - apigateway - - kubernetes - - ingress - - mesh - - servicemesh - - istio diff --git a/install/helm/gloo/crds/README.md b/install/helm/gloo/crds/README.md deleted file mode 100644 index 5ebe5bba873..00000000000 --- a/install/helm/gloo/crds/README.md +++ /dev/null @@ -1,10 +0,0 @@ -The CRDs in this directory are partially generated by solo-kit. -That implementation is explained [here](https://github.com/solo-io/solo-kit/tree/main/pkg/code-generator/schemagen#implementation). - -It is worth noting that solo-kit only generates the schemas for these CRDs. -Other spec fields such as the `categories` can be updated manually. - -Gloo Gateway CRD `categories`: -- All Gloo Gateway CRDs should include the "gloo-gateway" category. -- Any Gloo Gateway CRDs which are only used by enterprise customers should additionally include the "solo-io" category. - - Currently, these are the AuthConfig, RateLimitConfig, and GraphQLApi CRDs. \ No newline at end of file diff --git a/install/helm/gloo/crds/enterprise.gloo.solo.io_v1_AuthConfig.yaml b/install/helm/gloo/crds/enterprise.gloo.solo.io_v1_AuthConfig.yaml deleted file mode 100644 index 9fd8d5c3f6f..00000000000 --- a/install/helm/gloo/crds/enterprise.gloo.solo.io_v1_AuthConfig.yaml +++ /dev/null @@ -1,1034 +0,0 @@ -# CRD validation schema generated by solo-kit. DO NOT EDIT. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - creationTimestamp: null - name: authconfigs.enterprise.gloo.solo.io -spec: - group: enterprise.gloo.solo.io - names: - categories: - - solo-io - - gloo-gateway - kind: AuthConfig - listKind: AuthConfigList - plural: authconfigs - shortNames: - - ac - - gac - singular: authconfig - scope: Namespaced - versions: - - name: v1 - schema: - openAPIV3Schema: - properties: - spec: - properties: - booleanExpr: - nullable: true - type: string - configs: - items: - properties: - apiKeyAuth: - properties: - aerospikeApikeyStorage: - properties: - allowInsecure: - type: boolean - batchSize: - format: int32 - type: integer - certPath: - type: string - commitAll: - maximum: 4294967295 - minimum: 0 - type: integer - commitMaster: - maximum: 4294967295 - minimum: 0 - type: integer - hostname: - type: string - keyPath: - type: string - labelSelector: - additionalProperties: - type: string - type: object - namespace: - type: string - nodeTlsName: - type: string - port: - format: int32 - type: integer - readModeAp: - properties: - readModeApAll: - maximum: 4294967295 - minimum: 0 - type: integer - readModeApOne: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - readModeSc: - properties: - readModeScAllowUnavailable: - maximum: 4294967295 - minimum: 0 - type: integer - readModeScLinearize: - maximum: 4294967295 - minimum: 0 - type: integer - readModeScReplica: - maximum: 4294967295 - minimum: 0 - type: integer - readModeScSession: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - rootCaPath: - type: string - set: - type: string - tlsCurveGroups: - items: - properties: - curveP256: - maximum: 4294967295 - minimum: 0 - type: integer - curveP384: - maximum: 4294967295 - minimum: 0 - type: integer - curveP521: - maximum: 4294967295 - minimum: 0 - type: integer - x25519: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: array - tlsVersion: - type: string - type: object - apiKeySecretRefs: - items: - properties: - name: - type: string - namespace: - type: string - type: object - type: array - headerName: - type: string - headersFromMetadata: - additionalProperties: - properties: - name: - type: string - required: - type: boolean - type: object - type: object - headersFromMetadataEntry: - additionalProperties: - properties: - name: - type: string - required: - type: boolean - type: object - type: object - k8sSecretApikeyStorage: - properties: - apiKeySecretRefs: - items: - properties: - name: - type: string - namespace: - type: string - type: object - type: array - labelSelector: - additionalProperties: - type: string - type: object - type: object - labelSelector: - additionalProperties: - type: string - type: object - skipMetadataValidation: - type: boolean - type: object - basicAuth: - properties: - apr: - properties: - users: - additionalProperties: - properties: - hashedPassword: - type: string - salt: - type: string - type: object - type: object - type: object - encryption: - properties: - apr: - type: object - sha1: - type: object - type: object - realm: - type: string - userList: - properties: - users: - additionalProperties: - properties: - hashedPassword: - type: string - salt: - type: string - type: object - type: object - type: object - type: object - hmacAuth: - properties: - parametersInHeaders: - type: object - secretRefs: - properties: - secretRefs: - items: - properties: - name: - type: string - namespace: - type: string - type: object - type: array - required: - - secretRefs - type: object - required: - - secretRefs - type: object - jwt: - maxProperties: 0 - type: object - ldap: - properties: - address: - type: string - allowedGroups: - items: - type: string - type: array - disableGroupChecking: - type: boolean - groupLookupSettings: - properties: - checkGroupsWithServiceAccount: - type: boolean - credentialsSecretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - membershipAttributeName: - type: string - pool: - properties: - initialSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - searchFilter: - type: string - userDnTemplate: - type: string - required: - - address - type: object - name: - nullable: true - type: string - oauth: - properties: - appUrl: - type: string - authEndpointQueryParams: - additionalProperties: - type: string - type: object - callbackPath: - type: string - clientId: - type: string - clientSecretRef: - properties: - name: - type: string - namespace: - type: string - type: object - issuerUrl: - type: string - scopes: - items: - type: string - type: array - required: - - appUrl - type: object - oauth2: - properties: - accessTokenValidation: - properties: - azure: - properties: - claimsCachingOptions: - properties: - db: - format: int32 - type: integer - host: - type: string - poolSize: - format: int32 - type: integer - socketType: - type: string - x-kubernetes-int-or-string: true - tlsCertMountPath: - type: string - type: object - clientId: - type: string - clientSecret: - properties: - name: - type: string - namespace: - type: string - type: object - tenantId: - type: string - type: object - cacheTimeout: - type: string - claimsToHeaders: - items: - properties: - append: - type: boolean - claim: - type: string - header: - type: string - type: object - type: array - default: - type: object - dynamicMetadataFromClaims: - additionalProperties: - type: string - type: object - introspection: - properties: - clientId: - type: string - clientSecretRef: - properties: - name: - type: string - namespace: - type: string - type: object - disableClientSecret: - nullable: true - type: boolean - introspectionUrl: - type: string - userIdAttributeName: - type: string - required: - - introspectionUrl - type: object - introspectionUrl: - type: string - jwt: - properties: - issuer: - type: string - localJwks: - properties: - inlineString: - type: string - required: - - inlineString - type: object - remoteJwks: - properties: - refreshInterval: - type: string - url: - type: string - required: - - url - type: object - type: object - requiredScopes: - properties: - scope: - items: - type: string - type: array - type: object - userinfoUrl: - type: string - type: object - oauth2: - properties: - afterLogoutUrl: - type: string - appUrl: - type: string - authEndpoint: - type: string - authEndpointQueryParams: - additionalProperties: - type: string - type: object - callbackPath: - type: string - clientId: - type: string - clientSecretRef: - properties: - name: - type: string - namespace: - type: string - type: object - disableClientSecret: - nullable: true - type: boolean - logoutPath: - type: string - revocationEndpoint: - type: string - scopes: - items: - type: string - type: array - session: - properties: - cipherConfig: - properties: - keyRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - cookie: - properties: - allowRefreshing: - nullable: true - type: boolean - keyPrefix: - type: string - targetDomain: - type: string - type: object - cookieOptions: - properties: - domain: - type: string - httpOnly: - nullable: true - type: boolean - maxAge: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - notSecure: - type: boolean - path: - nullable: true - type: string - sameSite: - type: string - x-kubernetes-int-or-string: true - type: object - failOnFetchFailure: - type: boolean - redis: - properties: - allowRefreshing: - nullable: true - type: boolean - cookieName: - type: string - headerName: - type: string - keyPrefix: - type: string - options: - properties: - db: - format: int32 - type: integer - host: - type: string - poolSize: - format: int32 - type: integer - socketType: - type: string - x-kubernetes-int-or-string: true - tlsCertMountPath: - type: string - type: object - preExpiryBuffer: - type: string - targetDomain: - type: string - type: object - type: object - tokenEndpoint: - type: string - tokenEndpointQueryParams: - additionalProperties: - type: string - type: object - required: - - clientId - - appUrl - - callbackPath - - authEndpoint - - tokenEndpoint - type: object - oidcAuthorizationCode: - properties: - accessToken: - properties: - claimsToHeaders: - items: - properties: - append: - type: boolean - claim: - type: string - header: - type: string - type: object - type: array - type: object - afterLogoutUrl: - type: string - appUrl: - type: string - authEndpointQueryParams: - additionalProperties: - type: string - type: object - autoMapFromMetadata: - properties: - namespace: - type: string - type: object - azure: - properties: - claimsCachingOptions: - properties: - db: - format: int32 - type: integer - host: - type: string - poolSize: - format: int32 - type: integer - socketType: - type: string - x-kubernetes-int-or-string: true - tlsCertMountPath: - type: string - type: object - clientId: - type: string - clientSecret: - properties: - name: - type: string - namespace: - type: string - type: object - tenantId: - type: string - type: object - callbackPath: - type: string - clientAuthentication: - properties: - clientSecret: - properties: - clientSecretRef: - properties: - name: - type: string - namespace: - type: string - type: object - disableClientSecret: - nullable: true - type: boolean - type: object - privateKeyJwt: - properties: - signingKeyRef: - properties: - name: - type: string - namespace: - type: string - type: object - validFor: - type: string - required: - - signingKeyRef - type: object - type: object - clientId: - type: string - clientSecretRef: - properties: - name: - type: string - namespace: - type: string - type: object - default: - type: object - disableClientSecret: - nullable: true - type: boolean - discoveryOverride: - properties: - authEndpoint: - type: string - authMethods: - items: - type: string - type: array - claims: - items: - type: string - type: array - endSessionEndpoint: - type: string - idTokenAlgs: - items: - type: string - type: array - jwksUri: - type: string - responseTypes: - items: - type: string - type: array - revocationEndpoint: - type: string - scopes: - items: - type: string - type: array - subjects: - items: - type: string - type: array - tokenEndpoint: - type: string - type: object - discoveryPollInterval: - type: string - dynamicMetadataFromClaims: - additionalProperties: - type: string - type: object - endSessionProperties: - properties: - methodType: - type: string - x-kubernetes-int-or-string: true - type: object - frontChannelLogout: - properties: - path: - type: string - type: object - headers: - properties: - accessTokenHeader: - type: string - idTokenHeader: - type: string - useBearerSchemaForAuthorization: - nullable: true - type: boolean - type: object - identityToken: - properties: - claimsToHeaders: - items: - properties: - append: - type: boolean - claim: - type: string - header: - type: string - type: object - type: array - type: object - issuerUrl: - type: string - jwksCacheRefreshPolicy: - properties: - always: - maxProperties: 0 - type: object - maxIdpReqPerPollingInterval: - maximum: 4294967295 - minimum: 0 - type: integer - never: - maxProperties: 0 - type: object - type: object - logoutPath: - type: string - parseCallbackPathAsRegex: - type: boolean - scopes: - items: - type: string - type: array - session: - properties: - cipherConfig: - properties: - keyRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - cookie: - properties: - allowRefreshing: - nullable: true - type: boolean - keyPrefix: - type: string - targetDomain: - type: string - type: object - cookieOptions: - properties: - domain: - type: string - httpOnly: - nullable: true - type: boolean - maxAge: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - notSecure: - type: boolean - path: - nullable: true - type: string - sameSite: - type: string - x-kubernetes-int-or-string: true - type: object - failOnFetchFailure: - type: boolean - redis: - properties: - allowRefreshing: - nullable: true - type: boolean - cookieName: - type: string - headerName: - type: string - keyPrefix: - type: string - options: - properties: - db: - format: int32 - type: integer - host: - type: string - poolSize: - format: int32 - type: integer - socketType: - type: string - x-kubernetes-int-or-string: true - tlsCertMountPath: - type: string - type: object - preExpiryBuffer: - type: string - targetDomain: - type: string - type: object - type: object - sessionIdHeaderName: - type: string - tokenEndpointQueryParams: - additionalProperties: - type: string - type: object - required: - - clientId - - issuerUrl - - appUrl - - callbackPath - type: object - type: object - opaAuth: - properties: - modules: - items: - properties: - name: - type: string - namespace: - type: string - type: object - type: array - options: - properties: - fastInputConversion: - type: boolean - returnDecisionReason: - type: boolean - type: object - query: - type: string - required: - - query - type: object - opaServerAuth: - properties: - options: - properties: - fastInputConversion: - type: boolean - returnDecisionReason: - type: boolean - type: object - package: - type: string - ruleName: - type: string - serverAddr: - type: string - required: - - package - type: object - passThroughAuth: - properties: - config: - type: object - x-kubernetes-preserve-unknown-fields: true - failureModeAllow: - type: boolean - grpc: - properties: - address: - type: string - connectionTimeout: - type: string - retryPolicy: - properties: - numRetries: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - retryBackOff: - properties: - baseInterval: - type: string - maxInterval: - type: string - type: object - type: object - tlsConfig: - type: object - required: - - address - type: object - http: - properties: - connectionTimeout: - type: string - request: - properties: - allowedHeaders: - items: - type: string - type: array - headersToAdd: - additionalProperties: - type: string - type: object - passThroughBody: - type: boolean - passThroughFilterMetadata: - type: boolean - passThroughState: - type: boolean - type: object - response: - properties: - allowedClientHeadersOnDenied: - items: - type: string - type: array - allowedUpstreamHeaders: - items: - type: string - type: array - allowedUpstreamHeadersToOverwrite: - items: - type: string - type: array - readStateFromResponse: - type: boolean - type: object - url: - type: string - required: - - url - type: object - type: object - pluginAuth: - properties: - config: - type: object - x-kubernetes-preserve-unknown-fields: true - exportedSymbolName: - type: string - name: - type: string - pluginFileName: - type: string - required: - - config - type: object - portalAuth: - properties: - apiKeyHeader: - type: string - cacheDuration: - type: string - redisOptions: - properties: - db: - format: int32 - type: integer - host: - type: string - poolSize: - format: int32 - type: integer - socketType: - type: string - x-kubernetes-int-or-string: true - tlsCertMountPath: - type: string - type: object - requestTimeout: - type: string - url: - type: string - type: object - type: object - type: array - failOnRedirect: - type: boolean - namespacedStatuses: - properties: - statuses: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - required: - - configs - type: object - status: - default: {} - properties: - statuses: - default: {} - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/install/helm/gloo/crds/gateway.gloo.solo.io_directresponses.yaml b/install/helm/gloo/crds/gateway.gloo.solo.io_directresponses.yaml deleted file mode 100644 index 7be1f512ef5..00000000000 --- a/install/helm/gloo/crds/gateway.gloo.solo.io_directresponses.yaml +++ /dev/null @@ -1,53 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app: gloo-gateway - app.kubernetes.io/name: gloo-gateway - name: directresponses.gateway.gloo.solo.io -spec: - group: gateway.gloo.solo.io - names: - categories: - - gloo-gateway - kind: DirectResponse - listKind: DirectResponseList - plural: directresponses - shortNames: - - dr - singular: directresponse - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - body: - maxLength: 4096 - type: string - status: - format: int32 - maximum: 599 - minimum: 200 - type: integer - required: - - status - type: object - status: - type: object - type: object - served: true - storage: true - subresources: - status: {} diff --git a/install/helm/gloo/crds/gateway.gloo.solo.io_gatewayparameters.yaml b/install/helm/gloo/crds/gateway.gloo.solo.io_gatewayparameters.yaml deleted file mode 100644 index e8bc579bc95..00000000000 --- a/install/helm/gloo/crds/gateway.gloo.solo.io_gatewayparameters.yaml +++ /dev/null @@ -1,2126 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app: gloo-gateway - app.kubernetes.io/name: gloo-gateway - name: gatewayparameters.gateway.gloo.solo.io -spec: - group: gateway.gloo.solo.io - names: - categories: - - gloo-gateway - kind: GatewayParameters - listKind: GatewayParametersList - plural: gatewayparameters - shortNames: - - gwp - singular: gatewayparameters - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - kube: - properties: - aiExtension: - properties: - enabled: - type: boolean - env: - items: - properties: - name: - type: string - value: - type: string - valueFrom: - properties: - configMapKeyRef: - properties: - key: - type: string - name: - default: "" - type: string - optional: - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - fieldRef: - properties: - apiVersion: - type: string - fieldPath: - type: string - required: - - fieldPath - type: object - x-kubernetes-map-type: atomic - resourceFieldRef: - properties: - containerName: - type: string - divisor: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - resource: - type: string - required: - - resource - type: object - x-kubernetes-map-type: atomic - secretKeyRef: - properties: - key: - type: string - name: - default: "" - type: string - optional: - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - required: - - name - type: object - type: array - image: - properties: - digest: - type: string - pullPolicy: - type: string - registry: - type: string - repository: - type: string - tag: - type: string - type: object - ports: - items: - properties: - containerPort: - format: int32 - type: integer - hostIP: - type: string - hostPort: - format: int32 - type: integer - name: - type: string - protocol: - default: TCP - type: string - required: - - containerPort - type: object - type: array - resources: - properties: - claims: - items: - properties: - name: - type: string - request: - type: string - required: - - name - type: object - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: object - type: object - securityContext: - properties: - allowPrivilegeEscalation: - type: boolean - appArmorProfile: - properties: - localhostProfile: - type: string - type: - type: string - required: - - type - type: object - capabilities: - properties: - add: - items: - type: string - type: array - x-kubernetes-list-type: atomic - drop: - items: - type: string - type: array - x-kubernetes-list-type: atomic - type: object - privileged: - type: boolean - procMount: - type: string - readOnlyRootFilesystem: - type: boolean - runAsGroup: - format: int64 - type: integer - runAsNonRoot: - type: boolean - runAsUser: - format: int64 - type: integer - seLinuxOptions: - properties: - level: - type: string - role: - type: string - type: - type: string - user: - type: string - type: object - seccompProfile: - properties: - localhostProfile: - type: string - type: - type: string - required: - - type - type: object - windowsOptions: - properties: - gmsaCredentialSpec: - type: string - gmsaCredentialSpecName: - type: string - hostProcess: - type: boolean - runAsUserName: - type: string - type: object - type: object - stats: - properties: - customLabels: - items: - properties: - keyDelimiter: - type: string - metadataKey: - minLength: 1 - type: string - metadataNamespace: - enum: - - envoy.filters.http.jwt_authn - - io.solo.transformation - type: string - name: - minLength: 1 - type: string - required: - - metadataKey - - name - type: object - type: array - type: object - type: object - deployment: - properties: - replicas: - format: int32 - type: integer - type: object - envoyContainer: - properties: - bootstrap: - properties: - componentLogLevels: - additionalProperties: - type: string - type: object - logLevel: - type: string - type: object - image: - properties: - digest: - type: string - pullPolicy: - type: string - registry: - type: string - repository: - type: string - tag: - type: string - type: object - resources: - properties: - claims: - items: - properties: - name: - type: string - request: - type: string - required: - - name - type: object - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: object - type: object - securityContext: - properties: - allowPrivilegeEscalation: - type: boolean - appArmorProfile: - properties: - localhostProfile: - type: string - type: - type: string - required: - - type - type: object - capabilities: - properties: - add: - items: - type: string - type: array - x-kubernetes-list-type: atomic - drop: - items: - type: string - type: array - x-kubernetes-list-type: atomic - type: object - privileged: - type: boolean - procMount: - type: string - readOnlyRootFilesystem: - type: boolean - runAsGroup: - format: int64 - type: integer - runAsNonRoot: - type: boolean - runAsUser: - format: int64 - type: integer - seLinuxOptions: - properties: - level: - type: string - role: - type: string - type: - type: string - user: - type: string - type: object - seccompProfile: - properties: - localhostProfile: - type: string - type: - type: string - required: - - type - type: object - windowsOptions: - properties: - gmsaCredentialSpec: - type: string - gmsaCredentialSpecName: - type: string - hostProcess: - type: boolean - runAsUserName: - type: string - type: object - type: object - type: object - floatingUserId: - type: boolean - istio: - properties: - customSidecars: - items: - properties: - args: - items: - type: string - type: array - x-kubernetes-list-type: atomic - command: - items: - type: string - type: array - x-kubernetes-list-type: atomic - env: - items: - properties: - name: - type: string - value: - type: string - valueFrom: - properties: - configMapKeyRef: - properties: - key: - type: string - name: - default: "" - type: string - optional: - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - fieldRef: - properties: - apiVersion: - type: string - fieldPath: - type: string - required: - - fieldPath - type: object - x-kubernetes-map-type: atomic - resourceFieldRef: - properties: - containerName: - type: string - divisor: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - resource: - type: string - required: - - resource - type: object - x-kubernetes-map-type: atomic - secretKeyRef: - properties: - key: - type: string - name: - default: "" - type: string - optional: - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - required: - - name - type: object - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - envFrom: - items: - properties: - configMapRef: - properties: - name: - default: "" - type: string - optional: - type: boolean - type: object - x-kubernetes-map-type: atomic - prefix: - type: string - secretRef: - properties: - name: - default: "" - type: string - optional: - type: boolean - type: object - x-kubernetes-map-type: atomic - type: object - type: array - x-kubernetes-list-type: atomic - image: - type: string - imagePullPolicy: - type: string - lifecycle: - properties: - postStart: - properties: - exec: - properties: - command: - items: - type: string - type: array - x-kubernetes-list-type: atomic - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - x-kubernetes-list-type: atomic - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - sleep: - properties: - seconds: - format: int64 - type: integer - required: - - seconds - type: object - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - preStop: - properties: - exec: - properties: - command: - items: - type: string - type: array - x-kubernetes-list-type: atomic - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - x-kubernetes-list-type: atomic - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - sleep: - properties: - seconds: - format: int64 - type: integer - required: - - seconds - type: object - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - type: object - livenessProbe: - properties: - exec: - properties: - command: - items: - type: string - type: array - x-kubernetes-list-type: atomic - type: object - failureThreshold: - format: int32 - type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: - default: "" - type: string - required: - - port - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - x-kubernetes-list-type: atomic - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: - format: int32 - type: integer - type: object - name: - type: string - ports: - items: - properties: - containerPort: - format: int32 - type: integer - hostIP: - type: string - hostPort: - format: int32 - type: integer - name: - type: string - protocol: - default: TCP - type: string - required: - - containerPort - type: object - type: array - x-kubernetes-list-map-keys: - - containerPort - - protocol - x-kubernetes-list-type: map - readinessProbe: - properties: - exec: - properties: - command: - items: - type: string - type: array - x-kubernetes-list-type: atomic - type: object - failureThreshold: - format: int32 - type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: - default: "" - type: string - required: - - port - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - x-kubernetes-list-type: atomic - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: - format: int32 - type: integer - type: object - resizePolicy: - items: - properties: - resourceName: - type: string - restartPolicy: - type: string - required: - - resourceName - - restartPolicy - type: object - type: array - x-kubernetes-list-type: atomic - resources: - properties: - claims: - items: - properties: - name: - type: string - request: - type: string - required: - - name - type: object - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: object - type: object - restartPolicy: - type: string - securityContext: - properties: - allowPrivilegeEscalation: - type: boolean - appArmorProfile: - properties: - localhostProfile: - type: string - type: - type: string - required: - - type - type: object - capabilities: - properties: - add: - items: - type: string - type: array - x-kubernetes-list-type: atomic - drop: - items: - type: string - type: array - x-kubernetes-list-type: atomic - type: object - privileged: - type: boolean - procMount: - type: string - readOnlyRootFilesystem: - type: boolean - runAsGroup: - format: int64 - type: integer - runAsNonRoot: - type: boolean - runAsUser: - format: int64 - type: integer - seLinuxOptions: - properties: - level: - type: string - role: - type: string - type: - type: string - user: - type: string - type: object - seccompProfile: - properties: - localhostProfile: - type: string - type: - type: string - required: - - type - type: object - windowsOptions: - properties: - gmsaCredentialSpec: - type: string - gmsaCredentialSpecName: - type: string - hostProcess: - type: boolean - runAsUserName: - type: string - type: object - type: object - startupProbe: - properties: - exec: - properties: - command: - items: - type: string - type: array - x-kubernetes-list-type: atomic - type: object - failureThreshold: - format: int32 - type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: - default: "" - type: string - required: - - port - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - x-kubernetes-list-type: atomic - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: - format: int32 - type: integer - type: object - stdin: - type: boolean - stdinOnce: - type: boolean - terminationMessagePath: - type: string - terminationMessagePolicy: - type: string - tty: - type: boolean - volumeDevices: - items: - properties: - devicePath: - type: string - name: - type: string - required: - - devicePath - - name - type: object - type: array - x-kubernetes-list-map-keys: - - devicePath - x-kubernetes-list-type: map - volumeMounts: - items: - properties: - mountPath: - type: string - mountPropagation: - type: string - name: - type: string - readOnly: - type: boolean - recursiveReadOnly: - type: string - subPath: - type: string - subPathExpr: - type: string - required: - - mountPath - - name - type: object - type: array - x-kubernetes-list-map-keys: - - mountPath - x-kubernetes-list-type: map - workingDir: - type: string - required: - - name - type: object - type: array - istioProxyContainer: - properties: - image: - properties: - digest: - type: string - pullPolicy: - type: string - registry: - type: string - repository: - type: string - tag: - type: string - type: object - istioDiscoveryAddress: - type: string - istioMetaClusterId: - type: string - istioMetaMeshId: - type: string - logLevel: - type: string - resources: - properties: - claims: - items: - properties: - name: - type: string - request: - type: string - required: - - name - type: object - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: object - type: object - securityContext: - properties: - allowPrivilegeEscalation: - type: boolean - appArmorProfile: - properties: - localhostProfile: - type: string - type: - type: string - required: - - type - type: object - capabilities: - properties: - add: - items: - type: string - type: array - x-kubernetes-list-type: atomic - drop: - items: - type: string - type: array - x-kubernetes-list-type: atomic - type: object - privileged: - type: boolean - procMount: - type: string - readOnlyRootFilesystem: - type: boolean - runAsGroup: - format: int64 - type: integer - runAsNonRoot: - type: boolean - runAsUser: - format: int64 - type: integer - seLinuxOptions: - properties: - level: - type: string - role: - type: string - type: - type: string - user: - type: string - type: object - seccompProfile: - properties: - localhostProfile: - type: string - type: - type: string - required: - - type - type: object - windowsOptions: - properties: - gmsaCredentialSpec: - type: string - gmsaCredentialSpecName: - type: string - hostProcess: - type: boolean - runAsUserName: - type: string - type: object - type: object - type: object - type: object - podTemplate: - properties: - affinity: - properties: - nodeAffinity: - properties: - preferredDuringSchedulingIgnoredDuringExecution: - items: - properties: - preference: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - x-kubernetes-list-type: atomic - required: - - key - - operator - type: object - type: array - x-kubernetes-list-type: atomic - matchFields: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - x-kubernetes-list-type: atomic - required: - - key - - operator - type: object - type: array - x-kubernetes-list-type: atomic - type: object - x-kubernetes-map-type: atomic - weight: - format: int32 - type: integer - required: - - preference - - weight - type: object - type: array - x-kubernetes-list-type: atomic - requiredDuringSchedulingIgnoredDuringExecution: - properties: - nodeSelectorTerms: - items: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - x-kubernetes-list-type: atomic - required: - - key - - operator - type: object - type: array - x-kubernetes-list-type: atomic - matchFields: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - x-kubernetes-list-type: atomic - required: - - key - - operator - type: object - type: array - x-kubernetes-list-type: atomic - type: object - x-kubernetes-map-type: atomic - type: array - x-kubernetes-list-type: atomic - required: - - nodeSelectorTerms - type: object - x-kubernetes-map-type: atomic - type: object - podAffinity: - properties: - preferredDuringSchedulingIgnoredDuringExecution: - items: - properties: - podAffinityTerm: - properties: - labelSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - x-kubernetes-list-type: atomic - required: - - key - - operator - type: object - type: array - x-kubernetes-list-type: atomic - matchLabels: - additionalProperties: - type: string - type: object - type: object - x-kubernetes-map-type: atomic - matchLabelKeys: - items: - type: string - type: array - x-kubernetes-list-type: atomic - mismatchLabelKeys: - items: - type: string - type: array - x-kubernetes-list-type: atomic - namespaceSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - x-kubernetes-list-type: atomic - required: - - key - - operator - type: object - type: array - x-kubernetes-list-type: atomic - matchLabels: - additionalProperties: - type: string - type: object - type: object - x-kubernetes-map-type: atomic - namespaces: - items: - type: string - type: array - x-kubernetes-list-type: atomic - topologyKey: - type: string - required: - - topologyKey - type: object - weight: - format: int32 - type: integer - required: - - podAffinityTerm - - weight - type: object - type: array - x-kubernetes-list-type: atomic - requiredDuringSchedulingIgnoredDuringExecution: - items: - properties: - labelSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - x-kubernetes-list-type: atomic - required: - - key - - operator - type: object - type: array - x-kubernetes-list-type: atomic - matchLabels: - additionalProperties: - type: string - type: object - type: object - x-kubernetes-map-type: atomic - matchLabelKeys: - items: - type: string - type: array - x-kubernetes-list-type: atomic - mismatchLabelKeys: - items: - type: string - type: array - x-kubernetes-list-type: atomic - namespaceSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - x-kubernetes-list-type: atomic - required: - - key - - operator - type: object - type: array - x-kubernetes-list-type: atomic - matchLabels: - additionalProperties: - type: string - type: object - type: object - x-kubernetes-map-type: atomic - namespaces: - items: - type: string - type: array - x-kubernetes-list-type: atomic - topologyKey: - type: string - required: - - topologyKey - type: object - type: array - x-kubernetes-list-type: atomic - type: object - podAntiAffinity: - properties: - preferredDuringSchedulingIgnoredDuringExecution: - items: - properties: - podAffinityTerm: - properties: - labelSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - x-kubernetes-list-type: atomic - required: - - key - - operator - type: object - type: array - x-kubernetes-list-type: atomic - matchLabels: - additionalProperties: - type: string - type: object - type: object - x-kubernetes-map-type: atomic - matchLabelKeys: - items: - type: string - type: array - x-kubernetes-list-type: atomic - mismatchLabelKeys: - items: - type: string - type: array - x-kubernetes-list-type: atomic - namespaceSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - x-kubernetes-list-type: atomic - required: - - key - - operator - type: object - type: array - x-kubernetes-list-type: atomic - matchLabels: - additionalProperties: - type: string - type: object - type: object - x-kubernetes-map-type: atomic - namespaces: - items: - type: string - type: array - x-kubernetes-list-type: atomic - topologyKey: - type: string - required: - - topologyKey - type: object - weight: - format: int32 - type: integer - required: - - podAffinityTerm - - weight - type: object - type: array - x-kubernetes-list-type: atomic - requiredDuringSchedulingIgnoredDuringExecution: - items: - properties: - labelSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - x-kubernetes-list-type: atomic - required: - - key - - operator - type: object - type: array - x-kubernetes-list-type: atomic - matchLabels: - additionalProperties: - type: string - type: object - type: object - x-kubernetes-map-type: atomic - matchLabelKeys: - items: - type: string - type: array - x-kubernetes-list-type: atomic - mismatchLabelKeys: - items: - type: string - type: array - x-kubernetes-list-type: atomic - namespaceSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - x-kubernetes-list-type: atomic - required: - - key - - operator - type: object - type: array - x-kubernetes-list-type: atomic - matchLabels: - additionalProperties: - type: string - type: object - type: object - x-kubernetes-map-type: atomic - namespaces: - items: - type: string - type: array - x-kubernetes-list-type: atomic - topologyKey: - type: string - required: - - topologyKey - type: object - type: array - x-kubernetes-list-type: atomic - type: object - type: object - extraAnnotations: - additionalProperties: - type: string - type: object - extraLabels: - additionalProperties: - type: string - type: object - gracefulShutdown: - properties: - enabled: - type: boolean - sleepTimeSeconds: - type: integer - type: object - imagePullSecrets: - items: - properties: - name: - default: "" - type: string - type: object - x-kubernetes-map-type: atomic - type: array - livenessProbe: - properties: - exec: - properties: - command: - items: - type: string - type: array - x-kubernetes-list-type: atomic - type: object - failureThreshold: - format: int32 - type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: - default: "" - type: string - required: - - port - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - x-kubernetes-list-type: atomic - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: - format: int32 - type: integer - type: object - nodeSelector: - additionalProperties: - type: string - type: object - readinessProbe: - properties: - exec: - properties: - command: - items: - type: string - type: array - x-kubernetes-list-type: atomic - type: object - failureThreshold: - format: int32 - type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: - default: "" - type: string - required: - - port - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - x-kubernetes-list-type: atomic - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: - format: int32 - type: integer - type: object - securityContext: - properties: - appArmorProfile: - properties: - localhostProfile: - type: string - type: - type: string - required: - - type - type: object - fsGroup: - format: int64 - type: integer - fsGroupChangePolicy: - type: string - runAsGroup: - format: int64 - type: integer - runAsNonRoot: - type: boolean - runAsUser: - format: int64 - type: integer - seLinuxOptions: - properties: - level: - type: string - role: - type: string - type: - type: string - user: - type: string - type: object - seccompProfile: - properties: - localhostProfile: - type: string - type: - type: string - required: - - type - type: object - supplementalGroups: - items: - format: int64 - type: integer - type: array - x-kubernetes-list-type: atomic - supplementalGroupsPolicy: - type: string - sysctls: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - x-kubernetes-list-type: atomic - windowsOptions: - properties: - gmsaCredentialSpec: - type: string - gmsaCredentialSpecName: - type: string - hostProcess: - type: boolean - runAsUserName: - type: string - type: object - type: object - terminationGracePeriodSeconds: - type: integer - tolerations: - items: - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - format: int64 - type: integer - value: - type: string - type: object - type: array - type: object - sdsContainer: - properties: - bootstrap: - properties: - logLevel: - type: string - type: object - image: - properties: - digest: - type: string - pullPolicy: - type: string - registry: - type: string - repository: - type: string - tag: - type: string - type: object - resources: - properties: - claims: - items: - properties: - name: - type: string - request: - type: string - required: - - name - type: object - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: object - type: object - securityContext: - properties: - allowPrivilegeEscalation: - type: boolean - appArmorProfile: - properties: - localhostProfile: - type: string - type: - type: string - required: - - type - type: object - capabilities: - properties: - add: - items: - type: string - type: array - x-kubernetes-list-type: atomic - drop: - items: - type: string - type: array - x-kubernetes-list-type: atomic - type: object - privileged: - type: boolean - procMount: - type: string - readOnlyRootFilesystem: - type: boolean - runAsGroup: - format: int64 - type: integer - runAsNonRoot: - type: boolean - runAsUser: - format: int64 - type: integer - seLinuxOptions: - properties: - level: - type: string - role: - type: string - type: - type: string - user: - type: string - type: object - seccompProfile: - properties: - localhostProfile: - type: string - type: - type: string - required: - - type - type: object - windowsOptions: - properties: - gmsaCredentialSpec: - type: string - gmsaCredentialSpecName: - type: string - hostProcess: - type: boolean - runAsUserName: - type: string - type: object - type: object - type: object - service: - properties: - clusterIP: - type: string - extraAnnotations: - additionalProperties: - type: string - type: object - extraLabels: - additionalProperties: - type: string - type: object - type: - type: string - type: object - serviceAccount: - properties: - extraAnnotations: - additionalProperties: - type: string - type: object - extraLabels: - additionalProperties: - type: string - type: object - type: object - stats: - properties: - enableStatsRoute: - type: boolean - enabled: - type: boolean - routePrefixRewrite: - type: string - statsRoutePrefixRewrite: - type: string - type: object - type: object - selfManaged: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - x-kubernetes-validations: - - message: only one of 'kube' or 'selfManaged' may be set - rule: (has(self.kube) && !has(self.selfManaged)) || (!has(self.kube) - && has(self.selfManaged)) - status: - type: object - type: object - served: true - storage: true - subresources: - status: {} diff --git a/install/helm/gloo/crds/gateway.gloo.solo.io_httplistenerpolicies.yaml b/install/helm/gloo/crds/gateway.gloo.solo.io_httplistenerpolicies.yaml deleted file mode 100644 index cebe6f9077e..00000000000 --- a/install/helm/gloo/crds/gateway.gloo.solo.io_httplistenerpolicies.yaml +++ /dev/null @@ -1,196 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app: gateway - app.kubernetes.io/name: gateway - gateway.networking.k8s.io/policy: Direct - name: httplistenerpolicies.gateway.gloo.solo.io -spec: - group: gateway.gloo.solo.io - names: - categories: - - gateway - kind: HttpListenerPolicy - listKind: HttpListenerPolicyList - plural: httplistenerpolicies - shortNames: - - hlp - singular: httplistenerpolicy - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - compress: - type: boolean - targetRef: - properties: - group: - maxLength: 253 - pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - kind: - maxLength: 63 - minLength: 1 - pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ - type: string - name: - maxLength: 253 - minLength: 1 - type: string - required: - - group - - kind - - name - type: object - type: object - status: - properties: - ancestors: - items: - properties: - ancestorRef: - properties: - group: - default: gateway.networking.k8s.io - maxLength: 253 - pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - kind: - default: Gateway - maxLength: 63 - minLength: 1 - pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ - type: string - name: - maxLength: 253 - minLength: 1 - type: string - namespace: - maxLength: 63 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ - type: string - port: - format: int32 - maximum: 65535 - minimum: 1 - type: integer - sectionName: - maxLength: 253 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - required: - - name - type: object - conditions: - items: - properties: - lastTransitionTime: - format: date-time - type: string - message: - maxLength: 32768 - type: string - observedGeneration: - format: int64 - minimum: 0 - type: integer - reason: - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - enum: - - "True" - - "False" - - Unknown - type: string - type: - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - maxItems: 8 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - controllerName: - type: string - required: - - ancestorRef - - controllerName - type: object - maxItems: 16 - type: array - conditions: - items: - properties: - lastTransitionTime: - format: date-time - type: string - message: - maxLength: 32768 - type: string - observedGeneration: - format: int64 - minimum: 0 - type: integer - reason: - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - enum: - - "True" - - "False" - - Unknown - type: string - type: - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - maxItems: 8 - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - required: - - ancestors - type: object - type: object - served: true - storage: true - subresources: - status: {} diff --git a/install/helm/gloo/crds/gateway.gloo.solo.io_listenerpolicies.yaml b/install/helm/gloo/crds/gateway.gloo.solo.io_listenerpolicies.yaml deleted file mode 100644 index edc11e5e38f..00000000000 --- a/install/helm/gloo/crds/gateway.gloo.solo.io_listenerpolicies.yaml +++ /dev/null @@ -1,197 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app: gateway - app.kubernetes.io/name: gateway - gateway.networking.k8s.io/policy: Direct - name: listenerpolicies.gateway.gloo.solo.io -spec: - group: gateway.gloo.solo.io - names: - categories: - - gateway - kind: ListenerPolicy - listKind: ListenerPolicyList - plural: listenerpolicies - shortNames: - - lp - singular: listenerpolicy - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - perConnectionBufferLimitBytes: - format: int32 - type: integer - targetRef: - properties: - group: - maxLength: 253 - pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - kind: - maxLength: 63 - minLength: 1 - pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ - type: string - name: - maxLength: 253 - minLength: 1 - type: string - required: - - group - - kind - - name - type: object - type: object - status: - properties: - ancestors: - items: - properties: - ancestorRef: - properties: - group: - default: gateway.networking.k8s.io - maxLength: 253 - pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - kind: - default: Gateway - maxLength: 63 - minLength: 1 - pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ - type: string - name: - maxLength: 253 - minLength: 1 - type: string - namespace: - maxLength: 63 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ - type: string - port: - format: int32 - maximum: 65535 - minimum: 1 - type: integer - sectionName: - maxLength: 253 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - required: - - name - type: object - conditions: - items: - properties: - lastTransitionTime: - format: date-time - type: string - message: - maxLength: 32768 - type: string - observedGeneration: - format: int64 - minimum: 0 - type: integer - reason: - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - enum: - - "True" - - "False" - - Unknown - type: string - type: - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - maxItems: 8 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - controllerName: - type: string - required: - - ancestorRef - - controllerName - type: object - maxItems: 16 - type: array - conditions: - items: - properties: - lastTransitionTime: - format: date-time - type: string - message: - maxLength: 32768 - type: string - observedGeneration: - format: int64 - minimum: 0 - type: integer - reason: - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - enum: - - "True" - - "False" - - Unknown - type: string - type: - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - maxItems: 8 - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - required: - - ancestors - type: object - type: object - served: true - storage: true - subresources: - status: {} diff --git a/install/helm/gloo/crds/gateway.gloo.solo.io_routepolicies.yaml b/install/helm/gloo/crds/gateway.gloo.solo.io_routepolicies.yaml deleted file mode 100644 index 0bdc2ba73c8..00000000000 --- a/install/helm/gloo/crds/gateway.gloo.solo.io_routepolicies.yaml +++ /dev/null @@ -1,197 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app: gateway - app.kubernetes.io/name: gateway - gateway.networking.k8s.io/policy: Direct - name: routepolicies.gateway.gloo.solo.io -spec: - group: gateway.gloo.solo.io - names: - categories: - - gateway - kind: RoutePolicy - listKind: RoutePolicyList - plural: routepolicies - shortNames: - - rp - singular: routepolicy - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - targetRef: - properties: - group: - maxLength: 253 - pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - kind: - maxLength: 63 - minLength: 1 - pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ - type: string - name: - maxLength: 253 - minLength: 1 - type: string - required: - - group - - kind - - name - type: object - timeout: - minimum: 1 - type: integer - type: object - status: - properties: - ancestors: - items: - properties: - ancestorRef: - properties: - group: - default: gateway.networking.k8s.io - maxLength: 253 - pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - kind: - default: Gateway - maxLength: 63 - minLength: 1 - pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ - type: string - name: - maxLength: 253 - minLength: 1 - type: string - namespace: - maxLength: 63 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ - type: string - port: - format: int32 - maximum: 65535 - minimum: 1 - type: integer - sectionName: - maxLength: 253 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - required: - - name - type: object - conditions: - items: - properties: - lastTransitionTime: - format: date-time - type: string - message: - maxLength: 32768 - type: string - observedGeneration: - format: int64 - minimum: 0 - type: integer - reason: - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - enum: - - "True" - - "False" - - Unknown - type: string - type: - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - maxItems: 8 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - controllerName: - type: string - required: - - ancestorRef - - controllerName - type: object - maxItems: 16 - type: array - conditions: - items: - properties: - lastTransitionTime: - format: date-time - type: string - message: - maxLength: 32768 - type: string - observedGeneration: - format: int64 - minimum: 0 - type: integer - reason: - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - enum: - - "True" - - "False" - - Unknown - type: string - type: - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - maxItems: 8 - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - required: - - ancestors - type: object - type: object - served: true - storage: true - subresources: - status: {} diff --git a/install/helm/gloo/crds/gateway.gloo.solo.io_upstreams.yaml b/install/helm/gloo/crds/gateway.gloo.solo.io_upstreams.yaml deleted file mode 100644 index af8caa74355..00000000000 --- a/install/helm/gloo/crds/gateway.gloo.solo.io_upstreams.yaml +++ /dev/null @@ -1,119 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app: gateway - app.kubernetes.io/name: gateway - name: upstreams.gateway.gloo.solo.io -spec: - group: gateway.gloo.solo.io - names: - categories: - - gateway - kind: Upstream - listKind: UpstreamList - plural: upstreams - shortNames: - - up - singular: upstream - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - aws: - properties: - region: - type: string - secretRef: - properties: - name: - default: "" - type: string - type: object - x-kubernetes-map-type: atomic - type: object - static: - properties: - hosts: - items: - properties: - host: - maxLength: 253 - minLength: 1 - type: string - port: - format: int32 - maximum: 65535 - minimum: 1 - type: integer - required: - - host - - port - type: object - type: array - type: object - type: object - x-kubernetes-validations: - - message: There must one and only one upstream type set - rule: 1 == (self.aws != null?1:0) + (self.static != null?1:0) - status: - properties: - conditions: - items: - properties: - lastTransitionTime: - format: date-time - type: string - message: - maxLength: 32768 - type: string - observedGeneration: - format: int64 - minimum: 0 - type: integer - reason: - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - enum: - - "True" - - "False" - - Unknown - type: string - type: - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - maxItems: 8 - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - type: object - type: object - served: true - storage: true - subresources: - status: {} diff --git a/install/helm/gloo/crds/gateway.solo.io_v1_Gateway.yaml b/install/helm/gloo/crds/gateway.solo.io_v1_Gateway.yaml deleted file mode 100644 index a9a3677ee1d..00000000000 --- a/install/helm/gloo/crds/gateway.solo.io_v1_Gateway.yaml +++ /dev/null @@ -1,8785 +0,0 @@ -# CRD validation schema generated by solo-kit. DO NOT EDIT. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - creationTimestamp: null - name: gateways.gateway.solo.io -spec: - group: gateway.solo.io - names: - categories: - - gloo-gateway - kind: Gateway - listKind: GatewayList - plural: gateways - shortNames: - - gw - - ggw - singular: gateway - scope: Namespaced - versions: - - name: v1 - schema: - openAPIV3Schema: - properties: - spec: - properties: - bindAddress: - type: string - bindPort: - maximum: 4294967295 - minimum: 0 - type: integer - httpGateway: - properties: - options: - properties: - buffer: - properties: - maxRequestBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - caching: - properties: - allowedVaryHeaders: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - cachingServiceRef: - properties: - name: - type: string - namespace: - type: string - type: object - maxPayloadSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - timeout: - type: string - type: object - connectionLimit: - properties: - delayBeforeClose: - type: string - maxActiveConnections: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - csrf: - properties: - additionalOrigins: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - filterEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - shadowEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - type: object - disableExtProc: - nullable: true - type: boolean - dlp: - properties: - dlpRules: - items: - properties: - actions: - items: - properties: - actionType: - type: string - x-kubernetes-int-or-string: true - customAction: - properties: - maskChar: - type: string - name: - type: string - percent: - properties: - value: - type: number - type: object - regex: - items: - type: string - type: array - regexActions: - items: - properties: - regex: - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: array - type: object - keyValueAction: - properties: - keyToMask: - type: string - maskChar: - type: string - name: - type: string - percent: - properties: - value: - type: number - type: object - type: object - shadow: - type: boolean - type: object - type: array - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - type: object - type: array - enabledFor: - type: string - x-kubernetes-int-or-string: true - type: object - dynamicForwardProxy: - properties: - dnsCacheConfig: - properties: - appleDns: - type: object - caresDns: - properties: - dnsResolverOptions: - properties: - noDefaultSearchDomain: - type: boolean - useTcpForDnsLookups: - type: boolean - type: object - resolvers: - items: - properties: - pipe: - properties: - mode: - maximum: 4294967295 - minimum: 0 - type: integer - path: - type: string - type: object - socketAddress: - properties: - address: - type: string - ipv4Compat: - type: boolean - namedPort: - type: string - portValue: - maximum: 4294967295 - minimum: 0 - type: integer - protocol: - type: string - x-kubernetes-int-or-string: true - resolverName: - type: string - type: object - type: object - type: array - type: object - dnsCacheCircuitBreaker: - properties: - maxPendingRequests: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - dnsFailureRefreshRate: - properties: - baseInterval: - type: string - maxInterval: - type: string - type: object - dnsLookupFamily: - type: string - x-kubernetes-int-or-string: true - dnsQueryTimeout: - type: string - dnsRefreshRate: - type: string - hostTtl: - type: string - maxHosts: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - preresolveHostnames: - items: - properties: - address: - type: string - ipv4Compat: - type: boolean - namedPort: - type: string - portValue: - maximum: 4294967295 - minimum: 0 - type: integer - protocol: - type: string - x-kubernetes-int-or-string: true - resolverName: - type: string - type: object - type: array - type: object - saveUpstreamAddress: - type: boolean - sslConfig: - properties: - allowRenegotiation: - nullable: true - type: boolean - alpnProtocols: - items: - type: string - type: array - oneWayTls: - nullable: true - type: boolean - parameters: - properties: - cipherSuites: - items: - type: string - type: array - ecdhCurves: - items: - type: string - type: array - maximumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - minimumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - type: object - sds: - properties: - callCredentials: - properties: - fileCredentialSource: - properties: - header: - type: string - tokenFileName: - type: string - type: object - type: object - certificatesSecretName: - type: string - clusterName: - type: string - targetUri: - type: string - validationContextName: - type: string - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - sni: - type: string - sslFiles: - properties: - ocspStaple: - type: string - rootCa: - type: string - tlsCert: - type: string - tlsKey: - type: string - type: object - verifySubjectAltName: - items: - type: string - type: array - type: object - type: object - extProc: - properties: - allowModeOverride: - nullable: true - type: boolean - asyncMode: - nullable: true - type: boolean - disableClearRouteCache: - nullable: true - type: boolean - failureModeAllow: - nullable: true - type: boolean - filterMetadata: - type: object - x-kubernetes-preserve-unknown-fields: true - filterStage: - properties: - predicate: - type: string - x-kubernetes-int-or-string: true - stage: - type: string - x-kubernetes-int-or-string: true - type: object - forwardRules: - properties: - allowedHeaders: - properties: - patterns: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - type: object - disallowedHeaders: - properties: - patterns: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - type: object - type: object - grpcService: - properties: - authority: - nullable: true - type: string - extProcServerRef: - properties: - name: - type: string - namespace: - type: string - type: object - initialMetadata: - items: - properties: - key: - type: string - value: - type: string - type: object - type: array - retryPolicy: - properties: - numRetries: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - retryBackOff: - properties: - baseInterval: - type: string - maxInterval: - type: string - type: object - type: object - timeout: - type: string - type: object - maxMessageTimeout: - type: string - messageTimeout: - type: string - metadataContextNamespaces: - items: - type: string - type: array - mutationRules: - properties: - allowAllRouting: - nullable: true - type: boolean - allowEnvoy: - nullable: true - type: boolean - allowExpression: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - disallowAll: - nullable: true - type: boolean - disallowExpression: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - disallowIsError: - nullable: true - type: boolean - disallowSystem: - nullable: true - type: boolean - type: object - processingMode: - properties: - requestBodyMode: - type: string - x-kubernetes-int-or-string: true - requestHeaderMode: - type: string - x-kubernetes-int-or-string: true - requestTrailerMode: - type: string - x-kubernetes-int-or-string: true - responseBodyMode: - type: string - x-kubernetes-int-or-string: true - responseHeaderMode: - type: string - x-kubernetes-int-or-string: true - responseTrailerMode: - type: string - x-kubernetes-int-or-string: true - type: object - requestAttributes: - items: - type: string - type: array - responseAttributes: - items: - type: string - type: array - statPrefix: - nullable: true - type: string - typedMetadataContextNamespaces: - items: - type: string - type: array - type: object - extauth: - properties: - clearRouteCache: - type: boolean - extauthzServerRef: - properties: - name: - type: string - namespace: - type: string - type: object - failureModeAllow: - type: boolean - grpcService: - properties: - authority: - type: string - type: object - httpService: - properties: - pathPrefix: - type: string - request: - properties: - allowedHeaders: - items: - type: string - type: array - allowedHeadersRegex: - items: - type: string - type: array - headersToAdd: - additionalProperties: - type: string - type: object - type: object - response: - properties: - allowedClientHeaders: - items: - type: string - type: array - allowedUpstreamHeaders: - items: - type: string - type: array - allowedUpstreamHeadersToAppend: - items: - type: string - type: array - type: object - type: object - requestBody: - properties: - allowPartialMessage: - type: boolean - maxRequestBytes: - maximum: 4294967295 - minimum: 0 - type: integer - packAsBytes: - type: boolean - type: object - requestTimeout: - type: string - statPrefix: - type: string - statusOnError: - maximum: 4294967295 - minimum: 0 - type: integer - transportApiVersion: - type: string - x-kubernetes-int-or-string: true - userIdHeader: - type: string - type: object - extensions: - properties: - configs: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - grpcJsonTranscoder: - properties: - autoMapping: - type: boolean - convertGrpcStatus: - type: boolean - ignoreUnknownQueryParameters: - type: boolean - ignoredQueryParameters: - items: - type: string - type: array - matchIncomingRequestRoute: - type: boolean - printOptions: - properties: - addWhitespace: - type: boolean - alwaysPrintEnumsAsInts: - type: boolean - alwaysPrintPrimitiveFields: - type: boolean - preserveProtoFieldNames: - type: boolean - type: object - protoDescriptor: - type: string - protoDescriptorBin: - format: byte - type: string - protoDescriptorConfigMap: - properties: - configMapRef: - properties: - name: - type: string - namespace: - type: string - type: object - key: - type: string - type: object - services: - items: - type: string - type: array - type: object - grpcWeb: - properties: - disable: - type: boolean - type: object - gzip: - properties: - compressionLevel: - type: string - x-kubernetes-int-or-string: true - compressionStrategy: - type: string - x-kubernetes-int-or-string: true - contentLength: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - contentType: - items: - type: string - type: array - disableOnEtagHeader: - type: boolean - memoryLevel: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - removeAcceptEncodingHeader: - type: boolean - windowBits: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - headerValidationSettings: - properties: - disableHttp1MethodValidation: - maxProperties: 0 - type: object - type: object - healthCheck: - properties: - path: - type: string - type: object - httpConnectionManagerSettings: - properties: - acceptHttp10: - nullable: true - type: boolean - allowChunkedLength: - nullable: true - type: boolean - appendXForwardedPort: - nullable: true - type: boolean - codecType: - type: string - x-kubernetes-int-or-string: true - defaultHostForHttp10: - nullable: true - type: string - delayedCloseTimeout: - type: string - drainTimeout: - type: string - earlyHeaderManipulation: - properties: - headersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - headerSecretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - type: object - enableTrailers: - nullable: true - type: boolean - forwardClientCertDetails: - type: string - x-kubernetes-int-or-string: true - generateRequestId: - nullable: true - type: boolean - headersWithUnderscoresAction: - type: string - x-kubernetes-int-or-string: true - http2ProtocolOptions: - properties: - initialConnectionWindowSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - initialStreamWindowSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxConcurrentStreams: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - overrideStreamErrorOnInvalidHttpMessage: - nullable: true - type: boolean - type: object - idleTimeout: - type: string - internalAddressConfig: - properties: - cidrRanges: - items: - properties: - addressPrefix: - type: string - prefixLen: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - type: array - unixSockets: - nullable: true - type: boolean - type: object - maxConnectionDuration: - type: string - maxHeadersCount: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxRequestHeadersKb: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxRequestsPerConnection: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxStreamDuration: - type: string - mergeSlashes: - nullable: true - type: boolean - normalizePath: - nullable: true - type: boolean - pathWithEscapedSlashesAction: - type: string - x-kubernetes-int-or-string: true - preserveCaseHeaderKeyFormat: - nullable: true - type: boolean - preserveExternalRequestId: - nullable: true - type: boolean - properCaseHeaderKeyFormat: - nullable: true - type: boolean - proxy100Continue: - nullable: true - type: boolean - requestHeadersTimeout: - type: string - requestTimeout: - type: string - serverHeaderTransformation: - type: string - x-kubernetes-int-or-string: true - serverName: - nullable: true - type: string - setCurrentClientCertDetails: - properties: - cert: - nullable: true - type: boolean - chain: - nullable: true - type: boolean - dns: - nullable: true - type: boolean - subject: - nullable: true - type: boolean - uri: - nullable: true - type: boolean - type: object - skipXffAppend: - nullable: true - type: boolean - streamIdleTimeout: - type: string - stripAnyHostPort: - nullable: true - type: boolean - tracing: - properties: - datadogConfig: - properties: - clusterName: - type: string - collectorHostname: - type: string - collectorUpstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - remoteConfig: - properties: - disabled: - nullable: true - type: boolean - pollingInterval: - type: string - type: object - serviceName: - nullable: true - type: string - type: object - environmentVariablesForTags: - items: - properties: - defaultValue: - nullable: true - type: string - name: - nullable: true - type: string - tag: - nullable: true - type: string - type: object - type: array - literalsForTags: - items: - properties: - tag: - nullable: true - type: string - value: - nullable: true - type: string - type: object - type: array - openCensusConfig: - properties: - grpcAddress: - properties: - statPrefix: - type: string - targetUri: - type: string - type: object - httpAddress: - type: string - incomingTraceContext: - items: - type: string - x-kubernetes-int-or-string: true - type: array - ocagentExporterEnabled: - type: boolean - outgoingTraceContext: - items: - type: string - x-kubernetes-int-or-string: true - type: array - traceConfig: - properties: - constantSampler: - properties: - decision: - type: string - x-kubernetes-int-or-string: true - type: object - maxNumberOfAnnotations: - format: int64 - type: integer - x-kubernetes-int-or-string: true - maxNumberOfAttributes: - format: int64 - type: integer - x-kubernetes-int-or-string: true - maxNumberOfLinks: - format: int64 - type: integer - x-kubernetes-int-or-string: true - maxNumberOfMessageEvents: - format: int64 - type: integer - x-kubernetes-int-or-string: true - probabilitySampler: - properties: - samplingProbability: - type: number - type: object - rateLimitingSampler: - properties: - qps: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - type: object - type: object - openTelemetryConfig: - properties: - clusterName: - type: string - collectorUpstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - requestHeadersForTags: - items: - nullable: true - type: string - type: array - tracePercentages: - properties: - clientSamplePercentage: - nullable: true - type: number - overallSamplePercentage: - nullable: true - type: number - randomSamplePercentage: - nullable: true - type: number - type: object - verbose: - nullable: true - type: boolean - zipkinConfig: - properties: - clusterName: - type: string - collectorEndpoint: - type: string - collectorEndpointVersion: - type: string - x-kubernetes-int-or-string: true - collectorUpstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - sharedSpanContext: - nullable: true - type: boolean - traceId128bit: - nullable: true - type: boolean - type: object - type: object - upgrades: - items: - properties: - connect: - properties: - enabled: - nullable: true - type: boolean - type: object - websocket: - properties: - enabled: - nullable: true - type: boolean - type: object - type: object - type: array - useRemoteAddress: - nullable: true - type: boolean - uuidRequestIdConfig: - properties: - packTraceReason: - nullable: true - type: boolean - useRequestIdForTraceSampling: - nullable: true - type: boolean - type: object - via: - nullable: true - type: string - xffNumTrustedHops: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - httpLocalRatelimit: - properties: - defaultLimit: - properties: - fillInterval: - type: string - maxTokens: - maximum: 4294967295 - minimum: 0 - type: integer - tokensPerFill: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - enableXRatelimitHeaders: - nullable: true - type: boolean - localRateLimitPerDownstreamConnection: - nullable: true - type: boolean - type: object - leftmostXffAddress: - nullable: true - type: boolean - networkLocalRatelimit: - properties: - fillInterval: - type: string - maxTokens: - maximum: 4294967295 - minimum: 0 - type: integer - tokensPerFill: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - proxyLatency: - properties: - chargeClusterStat: - nullable: true - type: boolean - chargeListenerStat: - nullable: true - type: boolean - emitDynamicMetadata: - nullable: true - type: boolean - measureRequestInternally: - type: boolean - request: - type: string - x-kubernetes-int-or-string: true - response: - type: string - x-kubernetes-int-or-string: true - type: object - ratelimitServer: - properties: - denyOnFail: - type: boolean - enableXRatelimitHeaders: - type: boolean - grpcService: - properties: - authority: - type: string - type: object - rateLimitBeforeAuth: - type: boolean - ratelimitServerRef: - properties: - name: - type: string - namespace: - type: string - type: object - requestTimeout: - type: string - type: object - router: - properties: - dynamicStats: - nullable: true - type: boolean - suppressEnvoyHeaders: - nullable: true - type: boolean - type: object - sanitizeClusterHeader: - nullable: true - type: boolean - statefulSession: - properties: - cookieBased: - properties: - cookie: - properties: - name: - type: string - path: - type: string - ttl: - type: string - type: object - type: object - headerBased: - properties: - headerName: - type: string - type: object - strict: - type: boolean - type: object - tap: - properties: - maxBufferedRxBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxBufferedTxBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - recordDownstreamConnection: - nullable: true - type: boolean - recordHeadersReceivedTime: - nullable: true - type: boolean - sinks: - items: - properties: - grpcService: - properties: - tapServer: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - httpService: - properties: - tapServer: - properties: - name: - type: string - namespace: - type: string - type: object - timeout: - type: string - type: object - type: object - type: array - type: object - waf: - properties: - auditLogging: - properties: - action: - type: string - x-kubernetes-int-or-string: true - location: - type: string - x-kubernetes-int-or-string: true - type: object - configMapRuleSets: - items: - properties: - configMapRef: - properties: - name: - type: string - namespace: - type: string - type: object - dataMapKeys: - items: - type: string - type: array - type: object - type: array - coreRuleSet: - properties: - customSettingsFile: - type: string - customSettingsString: - type: string - type: object - customInterventionMessage: - type: string - disabled: - type: boolean - requestHeadersOnly: - type: boolean - responseHeadersOnly: - type: boolean - ruleSets: - items: - properties: - directory: - type: string - files: - items: - type: string - type: array - ruleStr: - type: string - type: object - type: array - type: object - wasm: - properties: - filters: - items: - properties: - config: - type: object - x-kubernetes-preserve-unknown-fields: true - failOpen: - type: boolean - filePath: - type: string - filterStage: - properties: - predicate: - type: string - x-kubernetes-int-or-string: true - stage: - type: string - x-kubernetes-int-or-string: true - type: object - image: - type: string - name: - type: string - rootId: - type: string - vmType: - type: string - x-kubernetes-int-or-string: true - type: object - type: array - type: object - type: object - virtualServiceExpressions: - properties: - expressions: - items: - properties: - key: - type: string - operator: - type: string - x-kubernetes-int-or-string: true - values: - items: - type: string - type: array - type: object - type: array - type: object - virtualServiceNamespaces: - items: - type: string - type: array - virtualServiceSelector: - additionalProperties: - type: string - type: object - virtualServices: - items: - properties: - name: - type: string - namespace: - type: string - type: object - type: array - type: object - hybridGateway: - properties: - delegatedHttpGateways: - properties: - httpConnectionManagerSettings: - properties: - acceptHttp10: - nullable: true - type: boolean - allowChunkedLength: - nullable: true - type: boolean - appendXForwardedPort: - nullable: true - type: boolean - codecType: - type: string - x-kubernetes-int-or-string: true - defaultHostForHttp10: - nullable: true - type: string - delayedCloseTimeout: - type: string - drainTimeout: - type: string - earlyHeaderManipulation: - properties: - headersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - headerSecretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - type: object - enableTrailers: - nullable: true - type: boolean - forwardClientCertDetails: - type: string - x-kubernetes-int-or-string: true - generateRequestId: - nullable: true - type: boolean - headersWithUnderscoresAction: - type: string - x-kubernetes-int-or-string: true - http2ProtocolOptions: - properties: - initialConnectionWindowSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - initialStreamWindowSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxConcurrentStreams: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - overrideStreamErrorOnInvalidHttpMessage: - nullable: true - type: boolean - type: object - idleTimeout: - type: string - internalAddressConfig: - properties: - cidrRanges: - items: - properties: - addressPrefix: - type: string - prefixLen: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - type: array - unixSockets: - nullable: true - type: boolean - type: object - maxConnectionDuration: - type: string - maxHeadersCount: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxRequestHeadersKb: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxRequestsPerConnection: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxStreamDuration: - type: string - mergeSlashes: - nullable: true - type: boolean - normalizePath: - nullable: true - type: boolean - pathWithEscapedSlashesAction: - type: string - x-kubernetes-int-or-string: true - preserveCaseHeaderKeyFormat: - nullable: true - type: boolean - preserveExternalRequestId: - nullable: true - type: boolean - properCaseHeaderKeyFormat: - nullable: true - type: boolean - proxy100Continue: - nullable: true - type: boolean - requestHeadersTimeout: - type: string - requestTimeout: - type: string - serverHeaderTransformation: - type: string - x-kubernetes-int-or-string: true - serverName: - nullable: true - type: string - setCurrentClientCertDetails: - properties: - cert: - nullable: true - type: boolean - chain: - nullable: true - type: boolean - dns: - nullable: true - type: boolean - subject: - nullable: true - type: boolean - uri: - nullable: true - type: boolean - type: object - skipXffAppend: - nullable: true - type: boolean - streamIdleTimeout: - type: string - stripAnyHostPort: - nullable: true - type: boolean - tracing: - properties: - datadogConfig: - properties: - clusterName: - type: string - collectorHostname: - type: string - collectorUpstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - remoteConfig: - properties: - disabled: - nullable: true - type: boolean - pollingInterval: - type: string - type: object - serviceName: - nullable: true - type: string - type: object - environmentVariablesForTags: - items: - properties: - defaultValue: - nullable: true - type: string - name: - nullable: true - type: string - tag: - nullable: true - type: string - type: object - type: array - literalsForTags: - items: - properties: - tag: - nullable: true - type: string - value: - nullable: true - type: string - type: object - type: array - openCensusConfig: - properties: - grpcAddress: - properties: - statPrefix: - type: string - targetUri: - type: string - type: object - httpAddress: - type: string - incomingTraceContext: - items: - type: string - x-kubernetes-int-or-string: true - type: array - ocagentExporterEnabled: - type: boolean - outgoingTraceContext: - items: - type: string - x-kubernetes-int-or-string: true - type: array - traceConfig: - properties: - constantSampler: - properties: - decision: - type: string - x-kubernetes-int-or-string: true - type: object - maxNumberOfAnnotations: - format: int64 - type: integer - x-kubernetes-int-or-string: true - maxNumberOfAttributes: - format: int64 - type: integer - x-kubernetes-int-or-string: true - maxNumberOfLinks: - format: int64 - type: integer - x-kubernetes-int-or-string: true - maxNumberOfMessageEvents: - format: int64 - type: integer - x-kubernetes-int-or-string: true - probabilitySampler: - properties: - samplingProbability: - type: number - type: object - rateLimitingSampler: - properties: - qps: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - type: object - type: object - openTelemetryConfig: - properties: - clusterName: - type: string - collectorUpstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - requestHeadersForTags: - items: - nullable: true - type: string - type: array - tracePercentages: - properties: - clientSamplePercentage: - nullable: true - type: number - overallSamplePercentage: - nullable: true - type: number - randomSamplePercentage: - nullable: true - type: number - type: object - verbose: - nullable: true - type: boolean - zipkinConfig: - properties: - clusterName: - type: string - collectorEndpoint: - type: string - collectorEndpointVersion: - type: string - x-kubernetes-int-or-string: true - collectorUpstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - sharedSpanContext: - nullable: true - type: boolean - traceId128bit: - nullable: true - type: boolean - type: object - type: object - upgrades: - items: - properties: - connect: - properties: - enabled: - nullable: true - type: boolean - type: object - websocket: - properties: - enabled: - nullable: true - type: boolean - type: object - type: object - type: array - useRemoteAddress: - nullable: true - type: boolean - uuidRequestIdConfig: - properties: - packTraceReason: - nullable: true - type: boolean - useRequestIdForTraceSampling: - nullable: true - type: boolean - type: object - via: - nullable: true - type: string - xffNumTrustedHops: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - preventChildOverrides: - type: boolean - ref: - properties: - name: - type: string - namespace: - type: string - type: object - selector: - properties: - expressions: - items: - properties: - key: - type: string - operator: - type: string - x-kubernetes-int-or-string: true - values: - items: - type: string - type: array - type: object - type: array - labels: - additionalProperties: - type: string - type: object - namespaces: - items: - type: string - type: array - type: object - sslConfig: - properties: - alpnProtocols: - items: - type: string - type: array - disableTlsSessionResumption: - nullable: true - type: boolean - ocspStaplePolicy: - type: string - x-kubernetes-int-or-string: true - oneWayTls: - nullable: true - type: boolean - parameters: - properties: - cipherSuites: - items: - type: string - type: array - ecdhCurves: - items: - type: string - type: array - maximumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - minimumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - type: object - sds: - properties: - callCredentials: - properties: - fileCredentialSource: - properties: - header: - type: string - tokenFileName: - type: string - type: object - type: object - certificatesSecretName: - type: string - clusterName: - type: string - targetUri: - type: string - validationContextName: - type: string - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - sniDomains: - items: - type: string - type: array - sslFiles: - properties: - ocspStaple: - type: string - rootCa: - type: string - tlsCert: - type: string - tlsKey: - type: string - type: object - transportSocketConnectTimeout: - type: string - verifySubjectAltName: - items: - type: string - type: array - type: object - type: object - delegatedTcpGateways: - properties: - ref: - properties: - name: - type: string - namespace: - type: string - type: object - selector: - properties: - expressions: - items: - properties: - key: - type: string - operator: - type: string - x-kubernetes-int-or-string: true - values: - items: - type: string - type: array - type: object - type: array - labels: - additionalProperties: - type: string - type: object - namespaces: - items: - type: string - type: array - type: object - type: object - matchedGateways: - items: - properties: - httpGateway: - properties: - options: - properties: - buffer: - properties: - maxRequestBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - caching: - properties: - allowedVaryHeaders: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - cachingServiceRef: - properties: - name: - type: string - namespace: - type: string - type: object - maxPayloadSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - timeout: - type: string - type: object - connectionLimit: - properties: - delayBeforeClose: - type: string - maxActiveConnections: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - csrf: - properties: - additionalOrigins: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - filterEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - shadowEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - type: object - disableExtProc: - nullable: true - type: boolean - dlp: - properties: - dlpRules: - items: - properties: - actions: - items: - properties: - actionType: - type: string - x-kubernetes-int-or-string: true - customAction: - properties: - maskChar: - type: string - name: - type: string - percent: - properties: - value: - type: number - type: object - regex: - items: - type: string - type: array - regexActions: - items: - properties: - regex: - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: array - type: object - keyValueAction: - properties: - keyToMask: - type: string - maskChar: - type: string - name: - type: string - percent: - properties: - value: - type: number - type: object - type: object - shadow: - type: boolean - type: object - type: array - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - type: object - type: array - enabledFor: - type: string - x-kubernetes-int-or-string: true - type: object - dynamicForwardProxy: - properties: - dnsCacheConfig: - properties: - appleDns: - type: object - caresDns: - properties: - dnsResolverOptions: - properties: - noDefaultSearchDomain: - type: boolean - useTcpForDnsLookups: - type: boolean - type: object - resolvers: - items: - properties: - pipe: - properties: - mode: - maximum: 4294967295 - minimum: 0 - type: integer - path: - type: string - type: object - socketAddress: - properties: - address: - type: string - ipv4Compat: - type: boolean - namedPort: - type: string - portValue: - maximum: 4294967295 - minimum: 0 - type: integer - protocol: - type: string - x-kubernetes-int-or-string: true - resolverName: - type: string - type: object - type: object - type: array - type: object - dnsCacheCircuitBreaker: - properties: - maxPendingRequests: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - dnsFailureRefreshRate: - properties: - baseInterval: - type: string - maxInterval: - type: string - type: object - dnsLookupFamily: - type: string - x-kubernetes-int-or-string: true - dnsQueryTimeout: - type: string - dnsRefreshRate: - type: string - hostTtl: - type: string - maxHosts: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - preresolveHostnames: - items: - properties: - address: - type: string - ipv4Compat: - type: boolean - namedPort: - type: string - portValue: - maximum: 4294967295 - minimum: 0 - type: integer - protocol: - type: string - x-kubernetes-int-or-string: true - resolverName: - type: string - type: object - type: array - type: object - saveUpstreamAddress: - type: boolean - sslConfig: - properties: - allowRenegotiation: - nullable: true - type: boolean - alpnProtocols: - items: - type: string - type: array - oneWayTls: - nullable: true - type: boolean - parameters: - properties: - cipherSuites: - items: - type: string - type: array - ecdhCurves: - items: - type: string - type: array - maximumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - minimumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - type: object - sds: - properties: - callCredentials: - properties: - fileCredentialSource: - properties: - header: - type: string - tokenFileName: - type: string - type: object - type: object - certificatesSecretName: - type: string - clusterName: - type: string - targetUri: - type: string - validationContextName: - type: string - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - sni: - type: string - sslFiles: - properties: - ocspStaple: - type: string - rootCa: - type: string - tlsCert: - type: string - tlsKey: - type: string - type: object - verifySubjectAltName: - items: - type: string - type: array - type: object - type: object - extProc: - properties: - allowModeOverride: - nullable: true - type: boolean - asyncMode: - nullable: true - type: boolean - disableClearRouteCache: - nullable: true - type: boolean - failureModeAllow: - nullable: true - type: boolean - filterMetadata: - type: object - x-kubernetes-preserve-unknown-fields: true - filterStage: - properties: - predicate: - type: string - x-kubernetes-int-or-string: true - stage: - type: string - x-kubernetes-int-or-string: true - type: object - forwardRules: - properties: - allowedHeaders: - properties: - patterns: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - type: object - disallowedHeaders: - properties: - patterns: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - type: object - type: object - grpcService: - properties: - authority: - nullable: true - type: string - extProcServerRef: - properties: - name: - type: string - namespace: - type: string - type: object - initialMetadata: - items: - properties: - key: - type: string - value: - type: string - type: object - type: array - retryPolicy: - properties: - numRetries: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - retryBackOff: - properties: - baseInterval: - type: string - maxInterval: - type: string - type: object - type: object - timeout: - type: string - type: object - maxMessageTimeout: - type: string - messageTimeout: - type: string - metadataContextNamespaces: - items: - type: string - type: array - mutationRules: - properties: - allowAllRouting: - nullable: true - type: boolean - allowEnvoy: - nullable: true - type: boolean - allowExpression: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - disallowAll: - nullable: true - type: boolean - disallowExpression: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - disallowIsError: - nullable: true - type: boolean - disallowSystem: - nullable: true - type: boolean - type: object - processingMode: - properties: - requestBodyMode: - type: string - x-kubernetes-int-or-string: true - requestHeaderMode: - type: string - x-kubernetes-int-or-string: true - requestTrailerMode: - type: string - x-kubernetes-int-or-string: true - responseBodyMode: - type: string - x-kubernetes-int-or-string: true - responseHeaderMode: - type: string - x-kubernetes-int-or-string: true - responseTrailerMode: - type: string - x-kubernetes-int-or-string: true - type: object - requestAttributes: - items: - type: string - type: array - responseAttributes: - items: - type: string - type: array - statPrefix: - nullable: true - type: string - typedMetadataContextNamespaces: - items: - type: string - type: array - type: object - extauth: - properties: - clearRouteCache: - type: boolean - extauthzServerRef: - properties: - name: - type: string - namespace: - type: string - type: object - failureModeAllow: - type: boolean - grpcService: - properties: - authority: - type: string - type: object - httpService: - properties: - pathPrefix: - type: string - request: - properties: - allowedHeaders: - items: - type: string - type: array - allowedHeadersRegex: - items: - type: string - type: array - headersToAdd: - additionalProperties: - type: string - type: object - type: object - response: - properties: - allowedClientHeaders: - items: - type: string - type: array - allowedUpstreamHeaders: - items: - type: string - type: array - allowedUpstreamHeadersToAppend: - items: - type: string - type: array - type: object - type: object - requestBody: - properties: - allowPartialMessage: - type: boolean - maxRequestBytes: - maximum: 4294967295 - minimum: 0 - type: integer - packAsBytes: - type: boolean - type: object - requestTimeout: - type: string - statPrefix: - type: string - statusOnError: - maximum: 4294967295 - minimum: 0 - type: integer - transportApiVersion: - type: string - x-kubernetes-int-or-string: true - userIdHeader: - type: string - type: object - extensions: - properties: - configs: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - grpcJsonTranscoder: - properties: - autoMapping: - type: boolean - convertGrpcStatus: - type: boolean - ignoreUnknownQueryParameters: - type: boolean - ignoredQueryParameters: - items: - type: string - type: array - matchIncomingRequestRoute: - type: boolean - printOptions: - properties: - addWhitespace: - type: boolean - alwaysPrintEnumsAsInts: - type: boolean - alwaysPrintPrimitiveFields: - type: boolean - preserveProtoFieldNames: - type: boolean - type: object - protoDescriptor: - type: string - protoDescriptorBin: - format: byte - type: string - protoDescriptorConfigMap: - properties: - configMapRef: - properties: - name: - type: string - namespace: - type: string - type: object - key: - type: string - type: object - services: - items: - type: string - type: array - type: object - grpcWeb: - properties: - disable: - type: boolean - type: object - gzip: - properties: - compressionLevel: - type: string - x-kubernetes-int-or-string: true - compressionStrategy: - type: string - x-kubernetes-int-or-string: true - contentLength: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - contentType: - items: - type: string - type: array - disableOnEtagHeader: - type: boolean - memoryLevel: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - removeAcceptEncodingHeader: - type: boolean - windowBits: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - headerValidationSettings: - properties: - disableHttp1MethodValidation: - maxProperties: 0 - type: object - type: object - healthCheck: - properties: - path: - type: string - type: object - httpConnectionManagerSettings: - properties: - acceptHttp10: - nullable: true - type: boolean - allowChunkedLength: - nullable: true - type: boolean - appendXForwardedPort: - nullable: true - type: boolean - codecType: - type: string - x-kubernetes-int-or-string: true - defaultHostForHttp10: - nullable: true - type: string - delayedCloseTimeout: - type: string - drainTimeout: - type: string - earlyHeaderManipulation: - properties: - headersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - headerSecretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - type: object - enableTrailers: - nullable: true - type: boolean - forwardClientCertDetails: - type: string - x-kubernetes-int-or-string: true - generateRequestId: - nullable: true - type: boolean - headersWithUnderscoresAction: - type: string - x-kubernetes-int-or-string: true - http2ProtocolOptions: - properties: - initialConnectionWindowSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - initialStreamWindowSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxConcurrentStreams: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - overrideStreamErrorOnInvalidHttpMessage: - nullable: true - type: boolean - type: object - idleTimeout: - type: string - internalAddressConfig: - properties: - cidrRanges: - items: - properties: - addressPrefix: - type: string - prefixLen: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - type: array - unixSockets: - nullable: true - type: boolean - type: object - maxConnectionDuration: - type: string - maxHeadersCount: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxRequestHeadersKb: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxRequestsPerConnection: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxStreamDuration: - type: string - mergeSlashes: - nullable: true - type: boolean - normalizePath: - nullable: true - type: boolean - pathWithEscapedSlashesAction: - type: string - x-kubernetes-int-or-string: true - preserveCaseHeaderKeyFormat: - nullable: true - type: boolean - preserveExternalRequestId: - nullable: true - type: boolean - properCaseHeaderKeyFormat: - nullable: true - type: boolean - proxy100Continue: - nullable: true - type: boolean - requestHeadersTimeout: - type: string - requestTimeout: - type: string - serverHeaderTransformation: - type: string - x-kubernetes-int-or-string: true - serverName: - nullable: true - type: string - setCurrentClientCertDetails: - properties: - cert: - nullable: true - type: boolean - chain: - nullable: true - type: boolean - dns: - nullable: true - type: boolean - subject: - nullable: true - type: boolean - uri: - nullable: true - type: boolean - type: object - skipXffAppend: - nullable: true - type: boolean - streamIdleTimeout: - type: string - stripAnyHostPort: - nullable: true - type: boolean - tracing: - properties: - datadogConfig: - properties: - clusterName: - type: string - collectorHostname: - type: string - collectorUpstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - remoteConfig: - properties: - disabled: - nullable: true - type: boolean - pollingInterval: - type: string - type: object - serviceName: - nullable: true - type: string - type: object - environmentVariablesForTags: - items: - properties: - defaultValue: - nullable: true - type: string - name: - nullable: true - type: string - tag: - nullable: true - type: string - type: object - type: array - literalsForTags: - items: - properties: - tag: - nullable: true - type: string - value: - nullable: true - type: string - type: object - type: array - openCensusConfig: - properties: - grpcAddress: - properties: - statPrefix: - type: string - targetUri: - type: string - type: object - httpAddress: - type: string - incomingTraceContext: - items: - type: string - x-kubernetes-int-or-string: true - type: array - ocagentExporterEnabled: - type: boolean - outgoingTraceContext: - items: - type: string - x-kubernetes-int-or-string: true - type: array - traceConfig: - properties: - constantSampler: - properties: - decision: - type: string - x-kubernetes-int-or-string: true - type: object - maxNumberOfAnnotations: - format: int64 - type: integer - x-kubernetes-int-or-string: true - maxNumberOfAttributes: - format: int64 - type: integer - x-kubernetes-int-or-string: true - maxNumberOfLinks: - format: int64 - type: integer - x-kubernetes-int-or-string: true - maxNumberOfMessageEvents: - format: int64 - type: integer - x-kubernetes-int-or-string: true - probabilitySampler: - properties: - samplingProbability: - type: number - type: object - rateLimitingSampler: - properties: - qps: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - type: object - type: object - openTelemetryConfig: - properties: - clusterName: - type: string - collectorUpstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - requestHeadersForTags: - items: - nullable: true - type: string - type: array - tracePercentages: - properties: - clientSamplePercentage: - nullable: true - type: number - overallSamplePercentage: - nullable: true - type: number - randomSamplePercentage: - nullable: true - type: number - type: object - verbose: - nullable: true - type: boolean - zipkinConfig: - properties: - clusterName: - type: string - collectorEndpoint: - type: string - collectorEndpointVersion: - type: string - x-kubernetes-int-or-string: true - collectorUpstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - sharedSpanContext: - nullable: true - type: boolean - traceId128bit: - nullable: true - type: boolean - type: object - type: object - upgrades: - items: - properties: - connect: - properties: - enabled: - nullable: true - type: boolean - type: object - websocket: - properties: - enabled: - nullable: true - type: boolean - type: object - type: object - type: array - useRemoteAddress: - nullable: true - type: boolean - uuidRequestIdConfig: - properties: - packTraceReason: - nullable: true - type: boolean - useRequestIdForTraceSampling: - nullable: true - type: boolean - type: object - via: - nullable: true - type: string - xffNumTrustedHops: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - httpLocalRatelimit: - properties: - defaultLimit: - properties: - fillInterval: - type: string - maxTokens: - maximum: 4294967295 - minimum: 0 - type: integer - tokensPerFill: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - enableXRatelimitHeaders: - nullable: true - type: boolean - localRateLimitPerDownstreamConnection: - nullable: true - type: boolean - type: object - leftmostXffAddress: - nullable: true - type: boolean - networkLocalRatelimit: - properties: - fillInterval: - type: string - maxTokens: - maximum: 4294967295 - minimum: 0 - type: integer - tokensPerFill: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - proxyLatency: - properties: - chargeClusterStat: - nullable: true - type: boolean - chargeListenerStat: - nullable: true - type: boolean - emitDynamicMetadata: - nullable: true - type: boolean - measureRequestInternally: - type: boolean - request: - type: string - x-kubernetes-int-or-string: true - response: - type: string - x-kubernetes-int-or-string: true - type: object - ratelimitServer: - properties: - denyOnFail: - type: boolean - enableXRatelimitHeaders: - type: boolean - grpcService: - properties: - authority: - type: string - type: object - rateLimitBeforeAuth: - type: boolean - ratelimitServerRef: - properties: - name: - type: string - namespace: - type: string - type: object - requestTimeout: - type: string - type: object - router: - properties: - dynamicStats: - nullable: true - type: boolean - suppressEnvoyHeaders: - nullable: true - type: boolean - type: object - sanitizeClusterHeader: - nullable: true - type: boolean - statefulSession: - properties: - cookieBased: - properties: - cookie: - properties: - name: - type: string - path: - type: string - ttl: - type: string - type: object - type: object - headerBased: - properties: - headerName: - type: string - type: object - strict: - type: boolean - type: object - tap: - properties: - maxBufferedRxBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxBufferedTxBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - recordDownstreamConnection: - nullable: true - type: boolean - recordHeadersReceivedTime: - nullable: true - type: boolean - sinks: - items: - properties: - grpcService: - properties: - tapServer: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - httpService: - properties: - tapServer: - properties: - name: - type: string - namespace: - type: string - type: object - timeout: - type: string - type: object - type: object - type: array - type: object - waf: - properties: - auditLogging: - properties: - action: - type: string - x-kubernetes-int-or-string: true - location: - type: string - x-kubernetes-int-or-string: true - type: object - configMapRuleSets: - items: - properties: - configMapRef: - properties: - name: - type: string - namespace: - type: string - type: object - dataMapKeys: - items: - type: string - type: array - type: object - type: array - coreRuleSet: - properties: - customSettingsFile: - type: string - customSettingsString: - type: string - type: object - customInterventionMessage: - type: string - disabled: - type: boolean - requestHeadersOnly: - type: boolean - responseHeadersOnly: - type: boolean - ruleSets: - items: - properties: - directory: - type: string - files: - items: - type: string - type: array - ruleStr: - type: string - type: object - type: array - type: object - wasm: - properties: - filters: - items: - properties: - config: - type: object - x-kubernetes-preserve-unknown-fields: true - failOpen: - type: boolean - filePath: - type: string - filterStage: - properties: - predicate: - type: string - x-kubernetes-int-or-string: true - stage: - type: string - x-kubernetes-int-or-string: true - type: object - image: - type: string - name: - type: string - rootId: - type: string - vmType: - type: string - x-kubernetes-int-or-string: true - type: object - type: array - type: object - type: object - virtualServiceExpressions: - properties: - expressions: - items: - properties: - key: - type: string - operator: - type: string - x-kubernetes-int-or-string: true - values: - items: - type: string - type: array - type: object - type: array - type: object - virtualServiceNamespaces: - items: - type: string - type: array - virtualServiceSelector: - additionalProperties: - type: string - type: object - virtualServices: - items: - properties: - name: - type: string - namespace: - type: string - type: object - type: array - type: object - matcher: - properties: - passthroughCipherSuites: - items: - type: string - type: array - sourcePrefixRanges: - items: - properties: - addressPrefix: - type: string - prefixLen: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - type: array - sslConfig: - properties: - alpnProtocols: - items: - type: string - type: array - disableTlsSessionResumption: - nullable: true - type: boolean - ocspStaplePolicy: - type: string - x-kubernetes-int-or-string: true - oneWayTls: - nullable: true - type: boolean - parameters: - properties: - cipherSuites: - items: - type: string - type: array - ecdhCurves: - items: - type: string - type: array - maximumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - minimumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - type: object - sds: - properties: - callCredentials: - properties: - fileCredentialSource: - properties: - header: - type: string - tokenFileName: - type: string - type: object - type: object - certificatesSecretName: - type: string - clusterName: - type: string - targetUri: - type: string - validationContextName: - type: string - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - sniDomains: - items: - type: string - type: array - sslFiles: - properties: - ocspStaple: - type: string - rootCa: - type: string - tlsCert: - type: string - tlsKey: - type: string - type: object - transportSocketConnectTimeout: - type: string - verifySubjectAltName: - items: - type: string - type: array - type: object - type: object - tcpGateway: - properties: - options: - properties: - connectionLimit: - properties: - delayBeforeClose: - type: string - maxActiveConnections: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - localRatelimit: - properties: - fillInterval: - type: string - maxTokens: - maximum: 4294967295 - minimum: 0 - type: integer - tokensPerFill: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - tcpProxySettings: - properties: - accessLogFlushInterval: - type: string - idleTimeout: - type: string - maxConnectAttempts: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - tunnelingConfig: - properties: - headersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - type: object - type: array - hostname: - type: string - type: object - type: object - type: object - tcpHosts: - items: - properties: - destination: - properties: - forwardSniClusterName: - maxProperties: 0 - type: object - multi: - properties: - destinations: - items: - properties: - destination: - properties: - consul: - properties: - dataCenters: - items: - type: string - type: array - serviceName: - type: string - tags: - items: - type: string - type: array - type: object - destinationSpec: - properties: - aws: - properties: - invocationStyle: - type: string - x-kubernetes-int-or-string: true - logicalName: - type: string - requestTransformation: - type: boolean - responseTransformation: - type: boolean - unwrapAsAlb: - type: boolean - unwrapAsApiGateway: - type: boolean - wrapAsApiGateway: - type: boolean - type: object - azure: - properties: - functionName: - type: string - type: object - grpc: - properties: - function: - type: string - package: - type: string - parameters: - properties: - headers: - additionalProperties: - type: string - type: object - path: - nullable: true - type: string - type: object - service: - type: string - type: object - rest: - properties: - functionName: - type: string - parameters: - properties: - headers: - additionalProperties: - type: string - type: object - path: - nullable: true - type: string - type: object - responseTransformation: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - type: object - type: object - kube: - properties: - port: - maximum: 4294967295 - minimum: 0 - type: integer - ref: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - subset: - properties: - values: - additionalProperties: - type: string - type: object - type: object - upstream: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - options: - properties: - bufferPerRoute: - properties: - buffer: - properties: - maxRequestBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - disabled: - type: boolean - type: object - csrf: - properties: - additionalOrigins: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - filterEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - shadowEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - type: object - extauth: - properties: - configRef: - properties: - name: - type: string - namespace: - type: string - type: object - customAuth: - properties: - contextExtensions: - additionalProperties: - type: string - type: object - name: - type: string - type: object - disable: - type: boolean - type: object - extensions: - properties: - configs: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - headerManipulation: - properties: - requestHeadersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - headerSecretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: array - requestHeadersToRemove: - items: - type: string - type: array - responseHeadersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - type: object - type: array - responseHeadersToRemove: - items: - type: string - type: array - type: object - stagedTransformations: - properties: - early: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - escapeCharacters: - nullable: true - type: boolean - inheritTransformation: - type: boolean - logRequestResponseInfo: - nullable: true - type: boolean - postRouting: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - regular: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - type: object - transformations: - properties: - clearRouteCache: - type: boolean - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: object - weight: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - type: array - type: object - single: - properties: - consul: - properties: - dataCenters: - items: - type: string - type: array - serviceName: - type: string - tags: - items: - type: string - type: array - type: object - destinationSpec: - properties: - aws: - properties: - invocationStyle: - type: string - x-kubernetes-int-or-string: true - logicalName: - type: string - requestTransformation: - type: boolean - responseTransformation: - type: boolean - unwrapAsAlb: - type: boolean - unwrapAsApiGateway: - type: boolean - wrapAsApiGateway: - type: boolean - type: object - azure: - properties: - functionName: - type: string - type: object - grpc: - properties: - function: - type: string - package: - type: string - parameters: - properties: - headers: - additionalProperties: - type: string - type: object - path: - nullable: true - type: string - type: object - service: - type: string - type: object - rest: - properties: - functionName: - type: string - parameters: - properties: - headers: - additionalProperties: - type: string - type: object - path: - nullable: true - type: string - type: object - responseTransformation: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - type: object - type: object - kube: - properties: - port: - maximum: 4294967295 - minimum: 0 - type: integer - ref: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - subset: - properties: - values: - additionalProperties: - type: string - type: object - type: object - upstream: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - upstreamGroup: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - name: - type: string - sslConfig: - properties: - alpnProtocols: - items: - type: string - type: array - disableTlsSessionResumption: - nullable: true - type: boolean - ocspStaplePolicy: - type: string - x-kubernetes-int-or-string: true - oneWayTls: - nullable: true - type: boolean - parameters: - properties: - cipherSuites: - items: - type: string - type: array - ecdhCurves: - items: - type: string - type: array - maximumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - minimumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - type: object - sds: - properties: - callCredentials: - properties: - fileCredentialSource: - properties: - header: - type: string - tokenFileName: - type: string - type: object - type: object - certificatesSecretName: - type: string - clusterName: - type: string - targetUri: - type: string - validationContextName: - type: string - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - sniDomains: - items: - type: string - type: array - sslFiles: - properties: - ocspStaple: - type: string - rootCa: - type: string - tlsCert: - type: string - tlsKey: - type: string - type: object - transportSocketConnectTimeout: - type: string - verifySubjectAltName: - items: - type: string - type: array - type: object - type: object - type: array - type: object - type: object - type: array - type: object - namespacedStatuses: - properties: - statuses: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - options: - properties: - accessLoggingService: - properties: - accessLog: - items: - properties: - fileSink: - properties: - jsonFormat: - type: object - x-kubernetes-preserve-unknown-fields: true - path: - type: string - stringFormat: - type: string - type: object - filter: - properties: - andFilter: - type: object - x-kubernetes-preserve-unknown-fields: true - durationFilter: - properties: - comparison: - properties: - op: - type: string - x-kubernetes-int-or-string: true - value: - properties: - defaultValue: - maximum: 4294967295 - minimum: 0 - type: integer - runtimeKey: - type: string - type: object - type: object - type: object - grpcStatusFilter: - properties: - exclude: - type: boolean - statuses: - items: - type: string - x-kubernetes-int-or-string: true - type: array - type: object - headerFilter: - properties: - header: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - safeRegexMatch: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffixMatch: - type: string - type: object - type: object - notHealthCheckFilter: - type: object - orFilter: - type: object - x-kubernetes-preserve-unknown-fields: true - responseFlagFilter: - properties: - flags: - items: - type: string - type: array - type: object - runtimeFilter: - properties: - percentSampled: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - useIndependentRandomness: - type: boolean - type: object - statusCodeFilter: - properties: - comparison: - properties: - op: - type: string - x-kubernetes-int-or-string: true - value: - properties: - defaultValue: - maximum: 4294967295 - minimum: 0 - type: integer - runtimeKey: - type: string - type: object - type: object - type: object - traceableFilter: - type: object - type: object - grpcService: - properties: - additionalRequestHeadersToLog: - items: - type: string - type: array - additionalResponseHeadersToLog: - items: - type: string - type: array - additionalResponseTrailersToLog: - items: - type: string - type: array - logName: - type: string - staticClusterName: - type: string - type: object - type: object - type: array - type: object - connectionBalanceConfig: - properties: - exactBalance: - type: object - type: object - extensions: - properties: - configs: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - listenerAccessLoggingService: - properties: - accessLog: - items: - properties: - fileSink: - properties: - jsonFormat: - type: object - x-kubernetes-preserve-unknown-fields: true - path: - type: string - stringFormat: - type: string - type: object - filter: - properties: - andFilter: - type: object - x-kubernetes-preserve-unknown-fields: true - durationFilter: - properties: - comparison: - properties: - op: - type: string - x-kubernetes-int-or-string: true - value: - properties: - defaultValue: - maximum: 4294967295 - minimum: 0 - type: integer - runtimeKey: - type: string - type: object - type: object - type: object - grpcStatusFilter: - properties: - exclude: - type: boolean - statuses: - items: - type: string - x-kubernetes-int-or-string: true - type: array - type: object - headerFilter: - properties: - header: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - safeRegexMatch: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffixMatch: - type: string - type: object - type: object - notHealthCheckFilter: - type: object - orFilter: - type: object - x-kubernetes-preserve-unknown-fields: true - responseFlagFilter: - properties: - flags: - items: - type: string - type: array - type: object - runtimeFilter: - properties: - percentSampled: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - useIndependentRandomness: - type: boolean - type: object - statusCodeFilter: - properties: - comparison: - properties: - op: - type: string - x-kubernetes-int-or-string: true - value: - properties: - defaultValue: - maximum: 4294967295 - minimum: 0 - type: integer - runtimeKey: - type: string - type: object - type: object - type: object - traceableFilter: - type: object - type: object - grpcService: - properties: - additionalRequestHeadersToLog: - items: - type: string - type: array - additionalResponseHeadersToLog: - items: - type: string - type: array - additionalResponseTrailersToLog: - items: - type: string - type: array - logName: - type: string - staticClusterName: - type: string - type: object - type: object - type: array - type: object - perConnectionBufferLimitBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - proxyProtocol: - properties: - allowRequestsWithoutProxyProtocol: - type: boolean - rules: - items: - properties: - onTlvPresent: - properties: - key: - type: string - metadataNamespace: - type: string - type: object - tlvType: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: array - type: object - socketOptions: - items: - properties: - bufValue: - format: byte - type: string - description: - type: string - intValue: - format: int64 - type: integer - x-kubernetes-int-or-string: true - level: - format: int64 - type: integer - x-kubernetes-int-or-string: true - name: - format: int64 - type: integer - x-kubernetes-int-or-string: true - state: - type: string - x-kubernetes-int-or-string: true - type: object - type: array - tcpStats: - nullable: true - type: boolean - type: object - proxyNames: - items: - type: string - type: array - routeOptions: - properties: - maxDirectResponseBodySizeBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - mostSpecificHeaderMutationsWins: - nullable: true - type: boolean - type: object - ssl: - type: boolean - tcpGateway: - properties: - options: - properties: - connectionLimit: - properties: - delayBeforeClose: - type: string - maxActiveConnections: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - localRatelimit: - properties: - fillInterval: - type: string - maxTokens: - maximum: 4294967295 - minimum: 0 - type: integer - tokensPerFill: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - tcpProxySettings: - properties: - accessLogFlushInterval: - type: string - idleTimeout: - type: string - maxConnectAttempts: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - tunnelingConfig: - properties: - headersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - type: object - type: array - hostname: - type: string - type: object - type: object - type: object - tcpHosts: - items: - properties: - destination: - properties: - forwardSniClusterName: - maxProperties: 0 - type: object - multi: - properties: - destinations: - items: - properties: - destination: - properties: - consul: - properties: - dataCenters: - items: - type: string - type: array - serviceName: - type: string - tags: - items: - type: string - type: array - type: object - destinationSpec: - properties: - aws: - properties: - invocationStyle: - type: string - x-kubernetes-int-or-string: true - logicalName: - type: string - requestTransformation: - type: boolean - responseTransformation: - type: boolean - unwrapAsAlb: - type: boolean - unwrapAsApiGateway: - type: boolean - wrapAsApiGateway: - type: boolean - type: object - azure: - properties: - functionName: - type: string - type: object - grpc: - properties: - function: - type: string - package: - type: string - parameters: - properties: - headers: - additionalProperties: - type: string - type: object - path: - nullable: true - type: string - type: object - service: - type: string - type: object - rest: - properties: - functionName: - type: string - parameters: - properties: - headers: - additionalProperties: - type: string - type: object - path: - nullable: true - type: string - type: object - responseTransformation: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - type: object - type: object - kube: - properties: - port: - maximum: 4294967295 - minimum: 0 - type: integer - ref: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - subset: - properties: - values: - additionalProperties: - type: string - type: object - type: object - upstream: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - options: - properties: - bufferPerRoute: - properties: - buffer: - properties: - maxRequestBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - disabled: - type: boolean - type: object - csrf: - properties: - additionalOrigins: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - filterEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - shadowEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - type: object - extauth: - properties: - configRef: - properties: - name: - type: string - namespace: - type: string - type: object - customAuth: - properties: - contextExtensions: - additionalProperties: - type: string - type: object - name: - type: string - type: object - disable: - type: boolean - type: object - extensions: - properties: - configs: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - headerManipulation: - properties: - requestHeadersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - headerSecretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: array - requestHeadersToRemove: - items: - type: string - type: array - responseHeadersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - type: object - type: array - responseHeadersToRemove: - items: - type: string - type: array - type: object - stagedTransformations: - properties: - early: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - escapeCharacters: - nullable: true - type: boolean - inheritTransformation: - type: boolean - logRequestResponseInfo: - nullable: true - type: boolean - postRouting: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - regular: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - type: object - transformations: - properties: - clearRouteCache: - type: boolean - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: object - weight: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - type: array - type: object - single: - properties: - consul: - properties: - dataCenters: - items: - type: string - type: array - serviceName: - type: string - tags: - items: - type: string - type: array - type: object - destinationSpec: - properties: - aws: - properties: - invocationStyle: - type: string - x-kubernetes-int-or-string: true - logicalName: - type: string - requestTransformation: - type: boolean - responseTransformation: - type: boolean - unwrapAsAlb: - type: boolean - unwrapAsApiGateway: - type: boolean - wrapAsApiGateway: - type: boolean - type: object - azure: - properties: - functionName: - type: string - type: object - grpc: - properties: - function: - type: string - package: - type: string - parameters: - properties: - headers: - additionalProperties: - type: string - type: object - path: - nullable: true - type: string - type: object - service: - type: string - type: object - rest: - properties: - functionName: - type: string - parameters: - properties: - headers: - additionalProperties: - type: string - type: object - path: - nullable: true - type: string - type: object - responseTransformation: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - type: object - type: object - kube: - properties: - port: - maximum: 4294967295 - minimum: 0 - type: integer - ref: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - subset: - properties: - values: - additionalProperties: - type: string - type: object - type: object - upstream: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - upstreamGroup: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - name: - type: string - sslConfig: - properties: - alpnProtocols: - items: - type: string - type: array - disableTlsSessionResumption: - nullable: true - type: boolean - ocspStaplePolicy: - type: string - x-kubernetes-int-or-string: true - oneWayTls: - nullable: true - type: boolean - parameters: - properties: - cipherSuites: - items: - type: string - type: array - ecdhCurves: - items: - type: string - type: array - maximumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - minimumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - type: object - sds: - properties: - callCredentials: - properties: - fileCredentialSource: - properties: - header: - type: string - tokenFileName: - type: string - type: object - type: object - certificatesSecretName: - type: string - clusterName: - type: string - targetUri: - type: string - validationContextName: - type: string - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - sniDomains: - items: - type: string - type: array - sslFiles: - properties: - ocspStaple: - type: string - rootCa: - type: string - tlsCert: - type: string - tlsKey: - type: string - type: object - transportSocketConnectTimeout: - type: string - verifySubjectAltName: - items: - type: string - type: array - type: object - type: object - type: array - type: object - useProxyProto: - nullable: true - type: boolean - type: object - status: - default: {} - properties: - statuses: - default: {} - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/install/helm/gloo/crds/gateway.solo.io_v1_HttpListenerOption.yaml b/install/helm/gloo/crds/gateway.solo.io_v1_HttpListenerOption.yaml deleted file mode 100644 index 7d733186441..00000000000 --- a/install/helm/gloo/crds/gateway.solo.io_v1_HttpListenerOption.yaml +++ /dev/null @@ -1,1502 +0,0 @@ -# CRD validation schema generated by solo-kit. DO NOT EDIT. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - creationTimestamp: null - name: httplisteneroptions.gateway.solo.io -spec: - group: gateway.solo.io - names: - categories: - - gloo-gateway - kind: HttpListenerOption - listKind: HttpListenerOptionList - plural: httplisteneroptions - shortNames: - - hlisopts - - ghlisopts - scope: Namespaced - versions: - - name: v1 - schema: - openAPIV3Schema: - properties: - spec: - properties: - options: - properties: - buffer: - properties: - maxRequestBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - caching: - properties: - allowedVaryHeaders: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - cachingServiceRef: - properties: - name: - type: string - namespace: - type: string - type: object - maxPayloadSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - timeout: - type: string - type: object - connectionLimit: - properties: - delayBeforeClose: - type: string - maxActiveConnections: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - csrf: - properties: - additionalOrigins: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - filterEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - shadowEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - type: object - disableExtProc: - nullable: true - type: boolean - dlp: - properties: - dlpRules: - items: - properties: - actions: - items: - properties: - actionType: - type: string - x-kubernetes-int-or-string: true - customAction: - properties: - maskChar: - type: string - name: - type: string - percent: - properties: - value: - type: number - type: object - regex: - items: - type: string - type: array - regexActions: - items: - properties: - regex: - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: array - type: object - keyValueAction: - properties: - keyToMask: - type: string - maskChar: - type: string - name: - type: string - percent: - properties: - value: - type: number - type: object - type: object - shadow: - type: boolean - type: object - type: array - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - type: object - type: array - enabledFor: - type: string - x-kubernetes-int-or-string: true - type: object - dynamicForwardProxy: - properties: - dnsCacheConfig: - properties: - appleDns: - type: object - caresDns: - properties: - dnsResolverOptions: - properties: - noDefaultSearchDomain: - type: boolean - useTcpForDnsLookups: - type: boolean - type: object - resolvers: - items: - properties: - pipe: - properties: - mode: - maximum: 4294967295 - minimum: 0 - type: integer - path: - type: string - type: object - socketAddress: - properties: - address: - type: string - ipv4Compat: - type: boolean - namedPort: - type: string - portValue: - maximum: 4294967295 - minimum: 0 - type: integer - protocol: - type: string - x-kubernetes-int-or-string: true - resolverName: - type: string - type: object - type: object - type: array - type: object - dnsCacheCircuitBreaker: - properties: - maxPendingRequests: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - dnsFailureRefreshRate: - properties: - baseInterval: - type: string - maxInterval: - type: string - type: object - dnsLookupFamily: - type: string - x-kubernetes-int-or-string: true - dnsQueryTimeout: - type: string - dnsRefreshRate: - type: string - hostTtl: - type: string - maxHosts: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - preresolveHostnames: - items: - properties: - address: - type: string - ipv4Compat: - type: boolean - namedPort: - type: string - portValue: - maximum: 4294967295 - minimum: 0 - type: integer - protocol: - type: string - x-kubernetes-int-or-string: true - resolverName: - type: string - type: object - type: array - type: object - saveUpstreamAddress: - type: boolean - sslConfig: - properties: - allowRenegotiation: - nullable: true - type: boolean - alpnProtocols: - items: - type: string - type: array - oneWayTls: - nullable: true - type: boolean - parameters: - properties: - cipherSuites: - items: - type: string - type: array - ecdhCurves: - items: - type: string - type: array - maximumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - minimumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - type: object - sds: - properties: - callCredentials: - properties: - fileCredentialSource: - properties: - header: - type: string - tokenFileName: - type: string - type: object - type: object - certificatesSecretName: - type: string - clusterName: - type: string - targetUri: - type: string - validationContextName: - type: string - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - sni: - type: string - sslFiles: - properties: - ocspStaple: - type: string - rootCa: - type: string - tlsCert: - type: string - tlsKey: - type: string - type: object - verifySubjectAltName: - items: - type: string - type: array - type: object - type: object - extProc: - properties: - allowModeOverride: - nullable: true - type: boolean - asyncMode: - nullable: true - type: boolean - disableClearRouteCache: - nullable: true - type: boolean - failureModeAllow: - nullable: true - type: boolean - filterMetadata: - type: object - x-kubernetes-preserve-unknown-fields: true - filterStage: - properties: - predicate: - type: string - x-kubernetes-int-or-string: true - stage: - type: string - x-kubernetes-int-or-string: true - type: object - forwardRules: - properties: - allowedHeaders: - properties: - patterns: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - type: object - disallowedHeaders: - properties: - patterns: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - type: object - type: object - grpcService: - properties: - authority: - nullable: true - type: string - extProcServerRef: - properties: - name: - type: string - namespace: - type: string - type: object - initialMetadata: - items: - properties: - key: - type: string - value: - type: string - type: object - type: array - retryPolicy: - properties: - numRetries: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - retryBackOff: - properties: - baseInterval: - type: string - maxInterval: - type: string - type: object - type: object - timeout: - type: string - type: object - maxMessageTimeout: - type: string - messageTimeout: - type: string - metadataContextNamespaces: - items: - type: string - type: array - mutationRules: - properties: - allowAllRouting: - nullable: true - type: boolean - allowEnvoy: - nullable: true - type: boolean - allowExpression: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - disallowAll: - nullable: true - type: boolean - disallowExpression: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - disallowIsError: - nullable: true - type: boolean - disallowSystem: - nullable: true - type: boolean - type: object - processingMode: - properties: - requestBodyMode: - type: string - x-kubernetes-int-or-string: true - requestHeaderMode: - type: string - x-kubernetes-int-or-string: true - requestTrailerMode: - type: string - x-kubernetes-int-or-string: true - responseBodyMode: - type: string - x-kubernetes-int-or-string: true - responseHeaderMode: - type: string - x-kubernetes-int-or-string: true - responseTrailerMode: - type: string - x-kubernetes-int-or-string: true - type: object - requestAttributes: - items: - type: string - type: array - responseAttributes: - items: - type: string - type: array - statPrefix: - nullable: true - type: string - typedMetadataContextNamespaces: - items: - type: string - type: array - type: object - extauth: - properties: - clearRouteCache: - type: boolean - extauthzServerRef: - properties: - name: - type: string - namespace: - type: string - type: object - failureModeAllow: - type: boolean - grpcService: - properties: - authority: - type: string - type: object - httpService: - properties: - pathPrefix: - type: string - request: - properties: - allowedHeaders: - items: - type: string - type: array - allowedHeadersRegex: - items: - type: string - type: array - headersToAdd: - additionalProperties: - type: string - type: object - type: object - response: - properties: - allowedClientHeaders: - items: - type: string - type: array - allowedUpstreamHeaders: - items: - type: string - type: array - allowedUpstreamHeadersToAppend: - items: - type: string - type: array - type: object - type: object - requestBody: - properties: - allowPartialMessage: - type: boolean - maxRequestBytes: - maximum: 4294967295 - minimum: 0 - type: integer - packAsBytes: - type: boolean - type: object - requestTimeout: - type: string - statPrefix: - type: string - statusOnError: - maximum: 4294967295 - minimum: 0 - type: integer - transportApiVersion: - type: string - x-kubernetes-int-or-string: true - userIdHeader: - type: string - type: object - extensions: - properties: - configs: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - grpcJsonTranscoder: - properties: - autoMapping: - type: boolean - convertGrpcStatus: - type: boolean - ignoreUnknownQueryParameters: - type: boolean - ignoredQueryParameters: - items: - type: string - type: array - matchIncomingRequestRoute: - type: boolean - printOptions: - properties: - addWhitespace: - type: boolean - alwaysPrintEnumsAsInts: - type: boolean - alwaysPrintPrimitiveFields: - type: boolean - preserveProtoFieldNames: - type: boolean - type: object - protoDescriptor: - type: string - protoDescriptorBin: - format: byte - type: string - protoDescriptorConfigMap: - properties: - configMapRef: - properties: - name: - type: string - namespace: - type: string - type: object - key: - type: string - type: object - services: - items: - type: string - type: array - type: object - grpcWeb: - properties: - disable: - type: boolean - type: object - gzip: - properties: - compressionLevel: - type: string - x-kubernetes-int-or-string: true - compressionStrategy: - type: string - x-kubernetes-int-or-string: true - contentLength: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - contentType: - items: - type: string - type: array - disableOnEtagHeader: - type: boolean - memoryLevel: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - removeAcceptEncodingHeader: - type: boolean - windowBits: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - headerValidationSettings: - properties: - disableHttp1MethodValidation: - maxProperties: 0 - type: object - type: object - healthCheck: - properties: - path: - type: string - type: object - httpConnectionManagerSettings: - properties: - acceptHttp10: - nullable: true - type: boolean - allowChunkedLength: - nullable: true - type: boolean - appendXForwardedPort: - nullable: true - type: boolean - codecType: - type: string - x-kubernetes-int-or-string: true - defaultHostForHttp10: - nullable: true - type: string - delayedCloseTimeout: - type: string - drainTimeout: - type: string - earlyHeaderManipulation: - properties: - headersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - headerSecretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - type: object - enableTrailers: - nullable: true - type: boolean - forwardClientCertDetails: - type: string - x-kubernetes-int-or-string: true - generateRequestId: - nullable: true - type: boolean - headersWithUnderscoresAction: - type: string - x-kubernetes-int-or-string: true - http2ProtocolOptions: - properties: - initialConnectionWindowSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - initialStreamWindowSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxConcurrentStreams: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - overrideStreamErrorOnInvalidHttpMessage: - nullable: true - type: boolean - type: object - idleTimeout: - type: string - internalAddressConfig: - properties: - cidrRanges: - items: - properties: - addressPrefix: - type: string - prefixLen: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - type: array - unixSockets: - nullable: true - type: boolean - type: object - maxConnectionDuration: - type: string - maxHeadersCount: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxRequestHeadersKb: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxRequestsPerConnection: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxStreamDuration: - type: string - mergeSlashes: - nullable: true - type: boolean - normalizePath: - nullable: true - type: boolean - pathWithEscapedSlashesAction: - type: string - x-kubernetes-int-or-string: true - preserveCaseHeaderKeyFormat: - nullable: true - type: boolean - preserveExternalRequestId: - nullable: true - type: boolean - properCaseHeaderKeyFormat: - nullable: true - type: boolean - proxy100Continue: - nullable: true - type: boolean - requestHeadersTimeout: - type: string - requestTimeout: - type: string - serverHeaderTransformation: - type: string - x-kubernetes-int-or-string: true - serverName: - nullable: true - type: string - setCurrentClientCertDetails: - properties: - cert: - nullable: true - type: boolean - chain: - nullable: true - type: boolean - dns: - nullable: true - type: boolean - subject: - nullable: true - type: boolean - uri: - nullable: true - type: boolean - type: object - skipXffAppend: - nullable: true - type: boolean - streamIdleTimeout: - type: string - stripAnyHostPort: - nullable: true - type: boolean - tracing: - properties: - datadogConfig: - properties: - clusterName: - type: string - collectorHostname: - type: string - collectorUpstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - remoteConfig: - properties: - disabled: - nullable: true - type: boolean - pollingInterval: - type: string - type: object - serviceName: - nullable: true - type: string - type: object - environmentVariablesForTags: - items: - properties: - defaultValue: - nullable: true - type: string - name: - nullable: true - type: string - tag: - nullable: true - type: string - type: object - type: array - literalsForTags: - items: - properties: - tag: - nullable: true - type: string - value: - nullable: true - type: string - type: object - type: array - openCensusConfig: - properties: - grpcAddress: - properties: - statPrefix: - type: string - targetUri: - type: string - type: object - httpAddress: - type: string - incomingTraceContext: - items: - type: string - x-kubernetes-int-or-string: true - type: array - ocagentExporterEnabled: - type: boolean - outgoingTraceContext: - items: - type: string - x-kubernetes-int-or-string: true - type: array - traceConfig: - properties: - constantSampler: - properties: - decision: - type: string - x-kubernetes-int-or-string: true - type: object - maxNumberOfAnnotations: - format: int64 - type: integer - x-kubernetes-int-or-string: true - maxNumberOfAttributes: - format: int64 - type: integer - x-kubernetes-int-or-string: true - maxNumberOfLinks: - format: int64 - type: integer - x-kubernetes-int-or-string: true - maxNumberOfMessageEvents: - format: int64 - type: integer - x-kubernetes-int-or-string: true - probabilitySampler: - properties: - samplingProbability: - type: number - type: object - rateLimitingSampler: - properties: - qps: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - type: object - type: object - openTelemetryConfig: - properties: - clusterName: - type: string - collectorUpstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - requestHeadersForTags: - items: - nullable: true - type: string - type: array - tracePercentages: - properties: - clientSamplePercentage: - nullable: true - type: number - overallSamplePercentage: - nullable: true - type: number - randomSamplePercentage: - nullable: true - type: number - type: object - verbose: - nullable: true - type: boolean - zipkinConfig: - properties: - clusterName: - type: string - collectorEndpoint: - type: string - collectorEndpointVersion: - type: string - x-kubernetes-int-or-string: true - collectorUpstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - sharedSpanContext: - nullable: true - type: boolean - traceId128bit: - nullable: true - type: boolean - type: object - type: object - upgrades: - items: - properties: - connect: - properties: - enabled: - nullable: true - type: boolean - type: object - websocket: - properties: - enabled: - nullable: true - type: boolean - type: object - type: object - type: array - useRemoteAddress: - nullable: true - type: boolean - uuidRequestIdConfig: - properties: - packTraceReason: - nullable: true - type: boolean - useRequestIdForTraceSampling: - nullable: true - type: boolean - type: object - via: - nullable: true - type: string - xffNumTrustedHops: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - httpLocalRatelimit: - properties: - defaultLimit: - properties: - fillInterval: - type: string - maxTokens: - maximum: 4294967295 - minimum: 0 - type: integer - tokensPerFill: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - enableXRatelimitHeaders: - nullable: true - type: boolean - localRateLimitPerDownstreamConnection: - nullable: true - type: boolean - type: object - leftmostXffAddress: - nullable: true - type: boolean - networkLocalRatelimit: - properties: - fillInterval: - type: string - maxTokens: - maximum: 4294967295 - minimum: 0 - type: integer - tokensPerFill: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - proxyLatency: - properties: - chargeClusterStat: - nullable: true - type: boolean - chargeListenerStat: - nullable: true - type: boolean - emitDynamicMetadata: - nullable: true - type: boolean - measureRequestInternally: - type: boolean - request: - type: string - x-kubernetes-int-or-string: true - response: - type: string - x-kubernetes-int-or-string: true - type: object - ratelimitServer: - properties: - denyOnFail: - type: boolean - enableXRatelimitHeaders: - type: boolean - grpcService: - properties: - authority: - type: string - type: object - rateLimitBeforeAuth: - type: boolean - ratelimitServerRef: - properties: - name: - type: string - namespace: - type: string - type: object - requestTimeout: - type: string - type: object - router: - properties: - dynamicStats: - nullable: true - type: boolean - suppressEnvoyHeaders: - nullable: true - type: boolean - type: object - sanitizeClusterHeader: - nullable: true - type: boolean - statefulSession: - properties: - cookieBased: - properties: - cookie: - properties: - name: - type: string - path: - type: string - ttl: - type: string - type: object - type: object - headerBased: - properties: - headerName: - type: string - type: object - strict: - type: boolean - type: object - tap: - properties: - maxBufferedRxBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxBufferedTxBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - recordDownstreamConnection: - nullable: true - type: boolean - recordHeadersReceivedTime: - nullable: true - type: boolean - sinks: - items: - properties: - grpcService: - properties: - tapServer: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - httpService: - properties: - tapServer: - properties: - name: - type: string - namespace: - type: string - type: object - timeout: - type: string - type: object - type: object - type: array - type: object - waf: - properties: - auditLogging: - properties: - action: - type: string - x-kubernetes-int-or-string: true - location: - type: string - x-kubernetes-int-or-string: true - type: object - configMapRuleSets: - items: - properties: - configMapRef: - properties: - name: - type: string - namespace: - type: string - type: object - dataMapKeys: - items: - type: string - type: array - type: object - type: array - coreRuleSet: - properties: - customSettingsFile: - type: string - customSettingsString: - type: string - type: object - customInterventionMessage: - type: string - disabled: - type: boolean - requestHeadersOnly: - type: boolean - responseHeadersOnly: - type: boolean - ruleSets: - items: - properties: - directory: - type: string - files: - items: - type: string - type: array - ruleStr: - type: string - type: object - type: array - type: object - wasm: - properties: - filters: - items: - properties: - config: - type: object - x-kubernetes-preserve-unknown-fields: true - failOpen: - type: boolean - filePath: - type: string - filterStage: - properties: - predicate: - type: string - x-kubernetes-int-or-string: true - stage: - type: string - x-kubernetes-int-or-string: true - type: object - image: - type: string - name: - type: string - rootId: - type: string - vmType: - type: string - x-kubernetes-int-or-string: true - type: object - type: array - type: object - type: object - targetRefs: - items: - properties: - group: - type: string - kind: - type: string - name: - type: string - namespace: - nullable: true - type: string - sectionName: - nullable: true - type: string - type: object - type: array - type: object - status: - default: {} - properties: - statuses: - default: {} - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/install/helm/gloo/crds/gateway.solo.io_v1_ListenerOption.yaml b/install/helm/gloo/crds/gateway.solo.io_v1_ListenerOption.yaml deleted file mode 100644 index b2ad1f5017a..00000000000 --- a/install/helm/gloo/crds/gateway.solo.io_v1_ListenerOption.yaml +++ /dev/null @@ -1,456 +0,0 @@ -# CRD validation schema generated by solo-kit. DO NOT EDIT. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - creationTimestamp: null - name: listeneroptions.gateway.solo.io -spec: - group: gateway.solo.io - names: - categories: - - gloo-gateway - kind: ListenerOption - listKind: ListenerOptionList - plural: listeneroptions - shortNames: - - lisopts - - glisopts - scope: Namespaced - versions: - - name: v1 - schema: - openAPIV3Schema: - properties: - spec: - properties: - options: - properties: - accessLoggingService: - properties: - accessLog: - items: - properties: - fileSink: - properties: - jsonFormat: - type: object - x-kubernetes-preserve-unknown-fields: true - path: - type: string - stringFormat: - type: string - type: object - filter: - properties: - andFilter: - type: object - x-kubernetes-preserve-unknown-fields: true - durationFilter: - properties: - comparison: - properties: - op: - type: string - x-kubernetes-int-or-string: true - value: - properties: - defaultValue: - maximum: 4294967295 - minimum: 0 - type: integer - runtimeKey: - type: string - type: object - type: object - type: object - grpcStatusFilter: - properties: - exclude: - type: boolean - statuses: - items: - type: string - x-kubernetes-int-or-string: true - type: array - type: object - headerFilter: - properties: - header: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - safeRegexMatch: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffixMatch: - type: string - type: object - type: object - notHealthCheckFilter: - type: object - orFilter: - type: object - x-kubernetes-preserve-unknown-fields: true - responseFlagFilter: - properties: - flags: - items: - type: string - type: array - type: object - runtimeFilter: - properties: - percentSampled: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - useIndependentRandomness: - type: boolean - type: object - statusCodeFilter: - properties: - comparison: - properties: - op: - type: string - x-kubernetes-int-or-string: true - value: - properties: - defaultValue: - maximum: 4294967295 - minimum: 0 - type: integer - runtimeKey: - type: string - type: object - type: object - type: object - traceableFilter: - type: object - type: object - grpcService: - properties: - additionalRequestHeadersToLog: - items: - type: string - type: array - additionalResponseHeadersToLog: - items: - type: string - type: array - additionalResponseTrailersToLog: - items: - type: string - type: array - logName: - type: string - staticClusterName: - type: string - type: object - type: object - type: array - type: object - connectionBalanceConfig: - properties: - exactBalance: - type: object - type: object - extensions: - properties: - configs: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - listenerAccessLoggingService: - properties: - accessLog: - items: - properties: - fileSink: - properties: - jsonFormat: - type: object - x-kubernetes-preserve-unknown-fields: true - path: - type: string - stringFormat: - type: string - type: object - filter: - properties: - andFilter: - type: object - x-kubernetes-preserve-unknown-fields: true - durationFilter: - properties: - comparison: - properties: - op: - type: string - x-kubernetes-int-or-string: true - value: - properties: - defaultValue: - maximum: 4294967295 - minimum: 0 - type: integer - runtimeKey: - type: string - type: object - type: object - type: object - grpcStatusFilter: - properties: - exclude: - type: boolean - statuses: - items: - type: string - x-kubernetes-int-or-string: true - type: array - type: object - headerFilter: - properties: - header: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - safeRegexMatch: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffixMatch: - type: string - type: object - type: object - notHealthCheckFilter: - type: object - orFilter: - type: object - x-kubernetes-preserve-unknown-fields: true - responseFlagFilter: - properties: - flags: - items: - type: string - type: array - type: object - runtimeFilter: - properties: - percentSampled: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - useIndependentRandomness: - type: boolean - type: object - statusCodeFilter: - properties: - comparison: - properties: - op: - type: string - x-kubernetes-int-or-string: true - value: - properties: - defaultValue: - maximum: 4294967295 - minimum: 0 - type: integer - runtimeKey: - type: string - type: object - type: object - type: object - traceableFilter: - type: object - type: object - grpcService: - properties: - additionalRequestHeadersToLog: - items: - type: string - type: array - additionalResponseHeadersToLog: - items: - type: string - type: array - additionalResponseTrailersToLog: - items: - type: string - type: array - logName: - type: string - staticClusterName: - type: string - type: object - type: object - type: array - type: object - perConnectionBufferLimitBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - proxyProtocol: - properties: - allowRequestsWithoutProxyProtocol: - type: boolean - rules: - items: - properties: - onTlvPresent: - properties: - key: - type: string - metadataNamespace: - type: string - type: object - tlvType: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: array - type: object - socketOptions: - items: - properties: - bufValue: - format: byte - type: string - description: - type: string - intValue: - format: int64 - type: integer - x-kubernetes-int-or-string: true - level: - format: int64 - type: integer - x-kubernetes-int-or-string: true - name: - format: int64 - type: integer - x-kubernetes-int-or-string: true - state: - type: string - x-kubernetes-int-or-string: true - type: object - type: array - tcpStats: - nullable: true - type: boolean - type: object - targetRefs: - items: - properties: - group: - type: string - kind: - type: string - name: - type: string - namespace: - nullable: true - type: string - sectionName: - nullable: true - type: string - type: object - type: array - type: object - status: - default: {} - properties: - statuses: - default: {} - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/install/helm/gloo/crds/gateway.solo.io_v1_MatchableHttpGateway.yaml b/install/helm/gloo/crds/gateway.solo.io_v1_MatchableHttpGateway.yaml deleted file mode 100644 index a2ef19adf12..00000000000 --- a/install/helm/gloo/crds/gateway.solo.io_v1_MatchableHttpGateway.yaml +++ /dev/null @@ -1,1628 +0,0 @@ -# CRD validation schema generated by solo-kit. DO NOT EDIT. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - creationTimestamp: null - name: httpgateways.gateway.solo.io -spec: - group: gateway.solo.io - names: - categories: - - gloo-gateway - kind: MatchableHttpGateway - listKind: MatchableHttpGatewayList - plural: httpgateways - shortNames: - - hgw - - ghgw - singular: httpgateway - scope: Namespaced - versions: - - name: v1 - schema: - openAPIV3Schema: - properties: - spec: - properties: - httpGateway: - properties: - options: - properties: - buffer: - properties: - maxRequestBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - caching: - properties: - allowedVaryHeaders: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - cachingServiceRef: - properties: - name: - type: string - namespace: - type: string - type: object - maxPayloadSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - timeout: - type: string - type: object - connectionLimit: - properties: - delayBeforeClose: - type: string - maxActiveConnections: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - csrf: - properties: - additionalOrigins: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - filterEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - shadowEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - type: object - disableExtProc: - nullable: true - type: boolean - dlp: - properties: - dlpRules: - items: - properties: - actions: - items: - properties: - actionType: - type: string - x-kubernetes-int-or-string: true - customAction: - properties: - maskChar: - type: string - name: - type: string - percent: - properties: - value: - type: number - type: object - regex: - items: - type: string - type: array - regexActions: - items: - properties: - regex: - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: array - type: object - keyValueAction: - properties: - keyToMask: - type: string - maskChar: - type: string - name: - type: string - percent: - properties: - value: - type: number - type: object - type: object - shadow: - type: boolean - type: object - type: array - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - type: object - type: array - enabledFor: - type: string - x-kubernetes-int-or-string: true - type: object - dynamicForwardProxy: - properties: - dnsCacheConfig: - properties: - appleDns: - type: object - caresDns: - properties: - dnsResolverOptions: - properties: - noDefaultSearchDomain: - type: boolean - useTcpForDnsLookups: - type: boolean - type: object - resolvers: - items: - properties: - pipe: - properties: - mode: - maximum: 4294967295 - minimum: 0 - type: integer - path: - type: string - type: object - socketAddress: - properties: - address: - type: string - ipv4Compat: - type: boolean - namedPort: - type: string - portValue: - maximum: 4294967295 - minimum: 0 - type: integer - protocol: - type: string - x-kubernetes-int-or-string: true - resolverName: - type: string - type: object - type: object - type: array - type: object - dnsCacheCircuitBreaker: - properties: - maxPendingRequests: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - dnsFailureRefreshRate: - properties: - baseInterval: - type: string - maxInterval: - type: string - type: object - dnsLookupFamily: - type: string - x-kubernetes-int-or-string: true - dnsQueryTimeout: - type: string - dnsRefreshRate: - type: string - hostTtl: - type: string - maxHosts: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - preresolveHostnames: - items: - properties: - address: - type: string - ipv4Compat: - type: boolean - namedPort: - type: string - portValue: - maximum: 4294967295 - minimum: 0 - type: integer - protocol: - type: string - x-kubernetes-int-or-string: true - resolverName: - type: string - type: object - type: array - type: object - saveUpstreamAddress: - type: boolean - sslConfig: - properties: - allowRenegotiation: - nullable: true - type: boolean - alpnProtocols: - items: - type: string - type: array - oneWayTls: - nullable: true - type: boolean - parameters: - properties: - cipherSuites: - items: - type: string - type: array - ecdhCurves: - items: - type: string - type: array - maximumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - minimumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - type: object - sds: - properties: - callCredentials: - properties: - fileCredentialSource: - properties: - header: - type: string - tokenFileName: - type: string - type: object - type: object - certificatesSecretName: - type: string - clusterName: - type: string - targetUri: - type: string - validationContextName: - type: string - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - sni: - type: string - sslFiles: - properties: - ocspStaple: - type: string - rootCa: - type: string - tlsCert: - type: string - tlsKey: - type: string - type: object - verifySubjectAltName: - items: - type: string - type: array - type: object - type: object - extProc: - properties: - allowModeOverride: - nullable: true - type: boolean - asyncMode: - nullable: true - type: boolean - disableClearRouteCache: - nullable: true - type: boolean - failureModeAllow: - nullable: true - type: boolean - filterMetadata: - type: object - x-kubernetes-preserve-unknown-fields: true - filterStage: - properties: - predicate: - type: string - x-kubernetes-int-or-string: true - stage: - type: string - x-kubernetes-int-or-string: true - type: object - forwardRules: - properties: - allowedHeaders: - properties: - patterns: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - type: object - disallowedHeaders: - properties: - patterns: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - type: object - type: object - grpcService: - properties: - authority: - nullable: true - type: string - extProcServerRef: - properties: - name: - type: string - namespace: - type: string - type: object - initialMetadata: - items: - properties: - key: - type: string - value: - type: string - type: object - type: array - retryPolicy: - properties: - numRetries: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - retryBackOff: - properties: - baseInterval: - type: string - maxInterval: - type: string - type: object - type: object - timeout: - type: string - type: object - maxMessageTimeout: - type: string - messageTimeout: - type: string - metadataContextNamespaces: - items: - type: string - type: array - mutationRules: - properties: - allowAllRouting: - nullable: true - type: boolean - allowEnvoy: - nullable: true - type: boolean - allowExpression: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - disallowAll: - nullable: true - type: boolean - disallowExpression: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - disallowIsError: - nullable: true - type: boolean - disallowSystem: - nullable: true - type: boolean - type: object - processingMode: - properties: - requestBodyMode: - type: string - x-kubernetes-int-or-string: true - requestHeaderMode: - type: string - x-kubernetes-int-or-string: true - requestTrailerMode: - type: string - x-kubernetes-int-or-string: true - responseBodyMode: - type: string - x-kubernetes-int-or-string: true - responseHeaderMode: - type: string - x-kubernetes-int-or-string: true - responseTrailerMode: - type: string - x-kubernetes-int-or-string: true - type: object - requestAttributes: - items: - type: string - type: array - responseAttributes: - items: - type: string - type: array - statPrefix: - nullable: true - type: string - typedMetadataContextNamespaces: - items: - type: string - type: array - type: object - extauth: - properties: - clearRouteCache: - type: boolean - extauthzServerRef: - properties: - name: - type: string - namespace: - type: string - type: object - failureModeAllow: - type: boolean - grpcService: - properties: - authority: - type: string - type: object - httpService: - properties: - pathPrefix: - type: string - request: - properties: - allowedHeaders: - items: - type: string - type: array - allowedHeadersRegex: - items: - type: string - type: array - headersToAdd: - additionalProperties: - type: string - type: object - type: object - response: - properties: - allowedClientHeaders: - items: - type: string - type: array - allowedUpstreamHeaders: - items: - type: string - type: array - allowedUpstreamHeadersToAppend: - items: - type: string - type: array - type: object - type: object - requestBody: - properties: - allowPartialMessage: - type: boolean - maxRequestBytes: - maximum: 4294967295 - minimum: 0 - type: integer - packAsBytes: - type: boolean - type: object - requestTimeout: - type: string - statPrefix: - type: string - statusOnError: - maximum: 4294967295 - minimum: 0 - type: integer - transportApiVersion: - type: string - x-kubernetes-int-or-string: true - userIdHeader: - type: string - type: object - extensions: - properties: - configs: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - grpcJsonTranscoder: - properties: - autoMapping: - type: boolean - convertGrpcStatus: - type: boolean - ignoreUnknownQueryParameters: - type: boolean - ignoredQueryParameters: - items: - type: string - type: array - matchIncomingRequestRoute: - type: boolean - printOptions: - properties: - addWhitespace: - type: boolean - alwaysPrintEnumsAsInts: - type: boolean - alwaysPrintPrimitiveFields: - type: boolean - preserveProtoFieldNames: - type: boolean - type: object - protoDescriptor: - type: string - protoDescriptorBin: - format: byte - type: string - protoDescriptorConfigMap: - properties: - configMapRef: - properties: - name: - type: string - namespace: - type: string - type: object - key: - type: string - type: object - services: - items: - type: string - type: array - type: object - grpcWeb: - properties: - disable: - type: boolean - type: object - gzip: - properties: - compressionLevel: - type: string - x-kubernetes-int-or-string: true - compressionStrategy: - type: string - x-kubernetes-int-or-string: true - contentLength: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - contentType: - items: - type: string - type: array - disableOnEtagHeader: - type: boolean - memoryLevel: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - removeAcceptEncodingHeader: - type: boolean - windowBits: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - headerValidationSettings: - properties: - disableHttp1MethodValidation: - maxProperties: 0 - type: object - type: object - healthCheck: - properties: - path: - type: string - type: object - httpConnectionManagerSettings: - properties: - acceptHttp10: - nullable: true - type: boolean - allowChunkedLength: - nullable: true - type: boolean - appendXForwardedPort: - nullable: true - type: boolean - codecType: - type: string - x-kubernetes-int-or-string: true - defaultHostForHttp10: - nullable: true - type: string - delayedCloseTimeout: - type: string - drainTimeout: - type: string - earlyHeaderManipulation: - properties: - headersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - headerSecretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - type: object - enableTrailers: - nullable: true - type: boolean - forwardClientCertDetails: - type: string - x-kubernetes-int-or-string: true - generateRequestId: - nullable: true - type: boolean - headersWithUnderscoresAction: - type: string - x-kubernetes-int-or-string: true - http2ProtocolOptions: - properties: - initialConnectionWindowSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - initialStreamWindowSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxConcurrentStreams: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - overrideStreamErrorOnInvalidHttpMessage: - nullable: true - type: boolean - type: object - idleTimeout: - type: string - internalAddressConfig: - properties: - cidrRanges: - items: - properties: - addressPrefix: - type: string - prefixLen: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - type: array - unixSockets: - nullable: true - type: boolean - type: object - maxConnectionDuration: - type: string - maxHeadersCount: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxRequestHeadersKb: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxRequestsPerConnection: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxStreamDuration: - type: string - mergeSlashes: - nullable: true - type: boolean - normalizePath: - nullable: true - type: boolean - pathWithEscapedSlashesAction: - type: string - x-kubernetes-int-or-string: true - preserveCaseHeaderKeyFormat: - nullable: true - type: boolean - preserveExternalRequestId: - nullable: true - type: boolean - properCaseHeaderKeyFormat: - nullable: true - type: boolean - proxy100Continue: - nullable: true - type: boolean - requestHeadersTimeout: - type: string - requestTimeout: - type: string - serverHeaderTransformation: - type: string - x-kubernetes-int-or-string: true - serverName: - nullable: true - type: string - setCurrentClientCertDetails: - properties: - cert: - nullable: true - type: boolean - chain: - nullable: true - type: boolean - dns: - nullable: true - type: boolean - subject: - nullable: true - type: boolean - uri: - nullable: true - type: boolean - type: object - skipXffAppend: - nullable: true - type: boolean - streamIdleTimeout: - type: string - stripAnyHostPort: - nullable: true - type: boolean - tracing: - properties: - datadogConfig: - properties: - clusterName: - type: string - collectorHostname: - type: string - collectorUpstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - remoteConfig: - properties: - disabled: - nullable: true - type: boolean - pollingInterval: - type: string - type: object - serviceName: - nullable: true - type: string - type: object - environmentVariablesForTags: - items: - properties: - defaultValue: - nullable: true - type: string - name: - nullable: true - type: string - tag: - nullable: true - type: string - type: object - type: array - literalsForTags: - items: - properties: - tag: - nullable: true - type: string - value: - nullable: true - type: string - type: object - type: array - openCensusConfig: - properties: - grpcAddress: - properties: - statPrefix: - type: string - targetUri: - type: string - type: object - httpAddress: - type: string - incomingTraceContext: - items: - type: string - x-kubernetes-int-or-string: true - type: array - ocagentExporterEnabled: - type: boolean - outgoingTraceContext: - items: - type: string - x-kubernetes-int-or-string: true - type: array - traceConfig: - properties: - constantSampler: - properties: - decision: - type: string - x-kubernetes-int-or-string: true - type: object - maxNumberOfAnnotations: - format: int64 - type: integer - x-kubernetes-int-or-string: true - maxNumberOfAttributes: - format: int64 - type: integer - x-kubernetes-int-or-string: true - maxNumberOfLinks: - format: int64 - type: integer - x-kubernetes-int-or-string: true - maxNumberOfMessageEvents: - format: int64 - type: integer - x-kubernetes-int-or-string: true - probabilitySampler: - properties: - samplingProbability: - type: number - type: object - rateLimitingSampler: - properties: - qps: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - type: object - type: object - openTelemetryConfig: - properties: - clusterName: - type: string - collectorUpstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - requestHeadersForTags: - items: - nullable: true - type: string - type: array - tracePercentages: - properties: - clientSamplePercentage: - nullable: true - type: number - overallSamplePercentage: - nullable: true - type: number - randomSamplePercentage: - nullable: true - type: number - type: object - verbose: - nullable: true - type: boolean - zipkinConfig: - properties: - clusterName: - type: string - collectorEndpoint: - type: string - collectorEndpointVersion: - type: string - x-kubernetes-int-or-string: true - collectorUpstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - sharedSpanContext: - nullable: true - type: boolean - traceId128bit: - nullable: true - type: boolean - type: object - type: object - upgrades: - items: - properties: - connect: - properties: - enabled: - nullable: true - type: boolean - type: object - websocket: - properties: - enabled: - nullable: true - type: boolean - type: object - type: object - type: array - useRemoteAddress: - nullable: true - type: boolean - uuidRequestIdConfig: - properties: - packTraceReason: - nullable: true - type: boolean - useRequestIdForTraceSampling: - nullable: true - type: boolean - type: object - via: - nullable: true - type: string - xffNumTrustedHops: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - httpLocalRatelimit: - properties: - defaultLimit: - properties: - fillInterval: - type: string - maxTokens: - maximum: 4294967295 - minimum: 0 - type: integer - tokensPerFill: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - enableXRatelimitHeaders: - nullable: true - type: boolean - localRateLimitPerDownstreamConnection: - nullable: true - type: boolean - type: object - leftmostXffAddress: - nullable: true - type: boolean - networkLocalRatelimit: - properties: - fillInterval: - type: string - maxTokens: - maximum: 4294967295 - minimum: 0 - type: integer - tokensPerFill: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - proxyLatency: - properties: - chargeClusterStat: - nullable: true - type: boolean - chargeListenerStat: - nullable: true - type: boolean - emitDynamicMetadata: - nullable: true - type: boolean - measureRequestInternally: - type: boolean - request: - type: string - x-kubernetes-int-or-string: true - response: - type: string - x-kubernetes-int-or-string: true - type: object - ratelimitServer: - properties: - denyOnFail: - type: boolean - enableXRatelimitHeaders: - type: boolean - grpcService: - properties: - authority: - type: string - type: object - rateLimitBeforeAuth: - type: boolean - ratelimitServerRef: - properties: - name: - type: string - namespace: - type: string - type: object - requestTimeout: - type: string - type: object - router: - properties: - dynamicStats: - nullable: true - type: boolean - suppressEnvoyHeaders: - nullable: true - type: boolean - type: object - sanitizeClusterHeader: - nullable: true - type: boolean - statefulSession: - properties: - cookieBased: - properties: - cookie: - properties: - name: - type: string - path: - type: string - ttl: - type: string - type: object - type: object - headerBased: - properties: - headerName: - type: string - type: object - strict: - type: boolean - type: object - tap: - properties: - maxBufferedRxBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxBufferedTxBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - recordDownstreamConnection: - nullable: true - type: boolean - recordHeadersReceivedTime: - nullable: true - type: boolean - sinks: - items: - properties: - grpcService: - properties: - tapServer: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - httpService: - properties: - tapServer: - properties: - name: - type: string - namespace: - type: string - type: object - timeout: - type: string - type: object - type: object - type: array - type: object - waf: - properties: - auditLogging: - properties: - action: - type: string - x-kubernetes-int-or-string: true - location: - type: string - x-kubernetes-int-or-string: true - type: object - configMapRuleSets: - items: - properties: - configMapRef: - properties: - name: - type: string - namespace: - type: string - type: object - dataMapKeys: - items: - type: string - type: array - type: object - type: array - coreRuleSet: - properties: - customSettingsFile: - type: string - customSettingsString: - type: string - type: object - customInterventionMessage: - type: string - disabled: - type: boolean - requestHeadersOnly: - type: boolean - responseHeadersOnly: - type: boolean - ruleSets: - items: - properties: - directory: - type: string - files: - items: - type: string - type: array - ruleStr: - type: string - type: object - type: array - type: object - wasm: - properties: - filters: - items: - properties: - config: - type: object - x-kubernetes-preserve-unknown-fields: true - failOpen: - type: boolean - filePath: - type: string - filterStage: - properties: - predicate: - type: string - x-kubernetes-int-or-string: true - stage: - type: string - x-kubernetes-int-or-string: true - type: object - image: - type: string - name: - type: string - rootId: - type: string - vmType: - type: string - x-kubernetes-int-or-string: true - type: object - type: array - type: object - type: object - virtualServiceExpressions: - properties: - expressions: - items: - properties: - key: - type: string - operator: - type: string - x-kubernetes-int-or-string: true - values: - items: - type: string - type: array - type: object - type: array - type: object - virtualServiceNamespaces: - items: - type: string - type: array - virtualServiceSelector: - additionalProperties: - type: string - type: object - virtualServices: - items: - properties: - name: - type: string - namespace: - type: string - type: object - type: array - type: object - matcher: - properties: - sourcePrefixRanges: - items: - properties: - addressPrefix: - type: string - prefixLen: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - type: array - sslConfig: - properties: - alpnProtocols: - items: - type: string - type: array - disableTlsSessionResumption: - nullable: true - type: boolean - ocspStaplePolicy: - type: string - x-kubernetes-int-or-string: true - oneWayTls: - nullable: true - type: boolean - parameters: - properties: - cipherSuites: - items: - type: string - type: array - ecdhCurves: - items: - type: string - type: array - maximumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - minimumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - type: object - sds: - properties: - callCredentials: - properties: - fileCredentialSource: - properties: - header: - type: string - tokenFileName: - type: string - type: object - type: object - certificatesSecretName: - type: string - clusterName: - type: string - targetUri: - type: string - validationContextName: - type: string - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - sniDomains: - items: - type: string - type: array - sslFiles: - properties: - ocspStaple: - type: string - rootCa: - type: string - tlsCert: - type: string - tlsKey: - type: string - type: object - transportSocketConnectTimeout: - type: string - verifySubjectAltName: - items: - type: string - type: array - type: object - type: object - namespacedStatuses: - properties: - statuses: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - type: object - status: - default: {} - properties: - statuses: - default: {} - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/install/helm/gloo/crds/gateway.solo.io_v1_MatchableTcpGateway.yaml b/install/helm/gloo/crds/gateway.solo.io_v1_MatchableTcpGateway.yaml deleted file mode 100644 index 70abec4eb48..00000000000 --- a/install/helm/gloo/crds/gateway.solo.io_v1_MatchableTcpGateway.yaml +++ /dev/null @@ -1,2509 +0,0 @@ -# CRD validation schema generated by solo-kit. DO NOT EDIT. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - creationTimestamp: null - name: tcpgateways.gateway.solo.io -spec: - group: gateway.solo.io - names: - categories: - - gloo-gateway - kind: MatchableTcpGateway - listKind: MatchableTcpGatewayList - plural: tcpgateways - shortNames: - - tgw - - gtgw - singular: tcpgateway - scope: Namespaced - versions: - - name: v1 - schema: - openAPIV3Schema: - properties: - spec: - properties: - matcher: - properties: - passthroughCipherSuites: - items: - type: string - type: array - sourcePrefixRanges: - items: - properties: - addressPrefix: - type: string - prefixLen: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - type: array - sslConfig: - properties: - alpnProtocols: - items: - type: string - type: array - disableTlsSessionResumption: - nullable: true - type: boolean - ocspStaplePolicy: - type: string - x-kubernetes-int-or-string: true - oneWayTls: - nullable: true - type: boolean - parameters: - properties: - cipherSuites: - items: - type: string - type: array - ecdhCurves: - items: - type: string - type: array - maximumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - minimumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - type: object - sds: - properties: - callCredentials: - properties: - fileCredentialSource: - properties: - header: - type: string - tokenFileName: - type: string - type: object - type: object - certificatesSecretName: - type: string - clusterName: - type: string - targetUri: - type: string - validationContextName: - type: string - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - sniDomains: - items: - type: string - type: array - sslFiles: - properties: - ocspStaple: - type: string - rootCa: - type: string - tlsCert: - type: string - tlsKey: - type: string - type: object - transportSocketConnectTimeout: - type: string - verifySubjectAltName: - items: - type: string - type: array - type: object - type: object - namespacedStatuses: - properties: - statuses: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - tcpGateway: - properties: - options: - properties: - connectionLimit: - properties: - delayBeforeClose: - type: string - maxActiveConnections: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - localRatelimit: - properties: - fillInterval: - type: string - maxTokens: - maximum: 4294967295 - minimum: 0 - type: integer - tokensPerFill: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - tcpProxySettings: - properties: - accessLogFlushInterval: - type: string - idleTimeout: - type: string - maxConnectAttempts: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - tunnelingConfig: - properties: - headersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - type: object - type: array - hostname: - type: string - type: object - type: object - type: object - tcpHosts: - items: - properties: - destination: - properties: - forwardSniClusterName: - maxProperties: 0 - type: object - multi: - properties: - destinations: - items: - properties: - destination: - properties: - consul: - properties: - dataCenters: - items: - type: string - type: array - serviceName: - type: string - tags: - items: - type: string - type: array - type: object - destinationSpec: - properties: - aws: - properties: - invocationStyle: - type: string - x-kubernetes-int-or-string: true - logicalName: - type: string - requestTransformation: - type: boolean - responseTransformation: - type: boolean - unwrapAsAlb: - type: boolean - unwrapAsApiGateway: - type: boolean - wrapAsApiGateway: - type: boolean - type: object - azure: - properties: - functionName: - type: string - type: object - grpc: - properties: - function: - type: string - package: - type: string - parameters: - properties: - headers: - additionalProperties: - type: string - type: object - path: - nullable: true - type: string - type: object - service: - type: string - type: object - rest: - properties: - functionName: - type: string - parameters: - properties: - headers: - additionalProperties: - type: string - type: object - path: - nullable: true - type: string - type: object - responseTransformation: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - type: object - type: object - kube: - properties: - port: - maximum: 4294967295 - minimum: 0 - type: integer - ref: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - subset: - properties: - values: - additionalProperties: - type: string - type: object - type: object - upstream: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - options: - properties: - bufferPerRoute: - properties: - buffer: - properties: - maxRequestBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - disabled: - type: boolean - type: object - csrf: - properties: - additionalOrigins: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - filterEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - shadowEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - type: object - extauth: - properties: - configRef: - properties: - name: - type: string - namespace: - type: string - type: object - customAuth: - properties: - contextExtensions: - additionalProperties: - type: string - type: object - name: - type: string - type: object - disable: - type: boolean - type: object - extensions: - properties: - configs: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - headerManipulation: - properties: - requestHeadersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - headerSecretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: array - requestHeadersToRemove: - items: - type: string - type: array - responseHeadersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - type: object - type: array - responseHeadersToRemove: - items: - type: string - type: array - type: object - stagedTransformations: - properties: - early: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - escapeCharacters: - nullable: true - type: boolean - inheritTransformation: - type: boolean - logRequestResponseInfo: - nullable: true - type: boolean - postRouting: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - regular: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - type: object - transformations: - properties: - clearRouteCache: - type: boolean - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: object - weight: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - type: array - type: object - single: - properties: - consul: - properties: - dataCenters: - items: - type: string - type: array - serviceName: - type: string - tags: - items: - type: string - type: array - type: object - destinationSpec: - properties: - aws: - properties: - invocationStyle: - type: string - x-kubernetes-int-or-string: true - logicalName: - type: string - requestTransformation: - type: boolean - responseTransformation: - type: boolean - unwrapAsAlb: - type: boolean - unwrapAsApiGateway: - type: boolean - wrapAsApiGateway: - type: boolean - type: object - azure: - properties: - functionName: - type: string - type: object - grpc: - properties: - function: - type: string - package: - type: string - parameters: - properties: - headers: - additionalProperties: - type: string - type: object - path: - nullable: true - type: string - type: object - service: - type: string - type: object - rest: - properties: - functionName: - type: string - parameters: - properties: - headers: - additionalProperties: - type: string - type: object - path: - nullable: true - type: string - type: object - responseTransformation: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - type: object - type: object - kube: - properties: - port: - maximum: 4294967295 - minimum: 0 - type: integer - ref: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - subset: - properties: - values: - additionalProperties: - type: string - type: object - type: object - upstream: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - upstreamGroup: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - name: - type: string - sslConfig: - properties: - alpnProtocols: - items: - type: string - type: array - disableTlsSessionResumption: - nullable: true - type: boolean - ocspStaplePolicy: - type: string - x-kubernetes-int-or-string: true - oneWayTls: - nullable: true - type: boolean - parameters: - properties: - cipherSuites: - items: - type: string - type: array - ecdhCurves: - items: - type: string - type: array - maximumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - minimumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - type: object - sds: - properties: - callCredentials: - properties: - fileCredentialSource: - properties: - header: - type: string - tokenFileName: - type: string - type: object - type: object - certificatesSecretName: - type: string - clusterName: - type: string - targetUri: - type: string - validationContextName: - type: string - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - sniDomains: - items: - type: string - type: array - sslFiles: - properties: - ocspStaple: - type: string - rootCa: - type: string - tlsCert: - type: string - tlsKey: - type: string - type: object - transportSocketConnectTimeout: - type: string - verifySubjectAltName: - items: - type: string - type: array - type: object - type: object - type: array - type: object - type: object - status: - default: {} - properties: - statuses: - default: {} - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/install/helm/gloo/crds/gateway.solo.io_v1_RouteOption.yaml b/install/helm/gloo/crds/gateway.solo.io_v1_RouteOption.yaml deleted file mode 100644 index 2169028ea93..00000000000 --- a/install/helm/gloo/crds/gateway.solo.io_v1_RouteOption.yaml +++ /dev/null @@ -1,3442 +0,0 @@ -# CRD validation schema generated by solo-kit. DO NOT EDIT. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - creationTimestamp: null - name: routeoptions.gateway.solo.io -spec: - group: gateway.solo.io - names: - categories: - - gloo-gateway - kind: RouteOption - listKind: RouteOptionList - plural: routeoptions - shortNames: - - rto - - rtopts - - grto - scope: Namespaced - versions: - - name: v1 - schema: - openAPIV3Schema: - properties: - spec: - properties: - namespacedStatuses: - properties: - statuses: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - options: - properties: - ai: - properties: - defaults: - items: - properties: - field: - type: string - override: - type: boolean - value: - x-kubernetes-preserve-unknown-fields: true - type: object - type: array - promptEnrichment: - properties: - append: - items: - properties: - content: - type: string - role: - type: string - type: object - type: array - prepend: - items: - properties: - content: - type: string - role: - type: string - type: object - type: array - type: object - promptGuard: - properties: - request: - properties: - customResponse: - properties: - message: - type: string - statusCode: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - moderation: - properties: - openai: - properties: - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - model: - type: string - type: object - type: object - regex: - properties: - action: - type: string - x-kubernetes-int-or-string: true - builtins: - items: - type: string - x-kubernetes-int-or-string: true - type: array - matches: - items: - properties: - name: - type: string - pattern: - type: string - type: object - type: array - type: object - webhook: - properties: - forwardHeaders: - items: - properties: - key: - type: string - matchType: - type: string - x-kubernetes-int-or-string: true - type: object - type: array - host: - type: string - port: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - response: - properties: - regex: - properties: - action: - type: string - x-kubernetes-int-or-string: true - builtins: - items: - type: string - x-kubernetes-int-or-string: true - type: array - matches: - items: - properties: - name: - type: string - pattern: - type: string - type: object - type: array - type: object - webhook: - properties: - forwardHeaders: - items: - properties: - key: - type: string - matchType: - type: string - x-kubernetes-int-or-string: true - type: object - type: array - host: - type: string - port: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - type: object - rag: - properties: - datastore: - properties: - postgres: - properties: - collectionName: - type: string - connectionString: - type: string - type: object - type: object - embedding: - properties: - azureOpenai: - properties: - apiVersion: - type: string - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - deploymentName: - type: string - endpoint: - type: string - type: object - openai: - properties: - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: object - type: object - promptTemplate: - type: string - type: object - routeType: - type: string - x-kubernetes-int-or-string: true - semanticCache: - properties: - datastore: - properties: - redis: - properties: - connectionString: - type: string - scoreThreshold: - type: number - type: object - weaviate: - properties: - grpcPort: - maximum: 4294967295 - minimum: 0 - type: integer - host: - type: string - httpPort: - maximum: 4294967295 - minimum: 0 - type: integer - insecure: - type: boolean - type: object - type: object - embedding: - properties: - azureOpenai: - properties: - apiVersion: - type: string - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - deploymentName: - type: string - endpoint: - type: string - type: object - openai: - properties: - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: object - type: object - mode: - type: string - x-kubernetes-int-or-string: true - ttl: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - appendXForwardedHost: - nullable: true - type: boolean - autoHostRewrite: - nullable: true - type: boolean - bufferPerRoute: - properties: - buffer: - properties: - maxRequestBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - disabled: - type: boolean - type: object - cors: - properties: - allowCredentials: - type: boolean - allowHeaders: - items: - type: string - type: array - allowMethods: - items: - type: string - type: array - allowOrigin: - items: - type: string - type: array - allowOriginRegex: - items: - type: string - type: array - disableForRoute: - type: boolean - exposeHeaders: - items: - type: string - type: array - maxAge: - type: string - type: object - csrf: - properties: - additionalOrigins: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - filterEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - shadowEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - type: object - dlp: - properties: - actions: - items: - properties: - actionType: - type: string - x-kubernetes-int-or-string: true - customAction: - properties: - maskChar: - type: string - name: - type: string - percent: - properties: - value: - type: number - type: object - regex: - items: - type: string - type: array - regexActions: - items: - properties: - regex: - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: array - type: object - keyValueAction: - properties: - keyToMask: - type: string - maskChar: - type: string - name: - type: string - percent: - properties: - value: - type: number - type: object - type: object - shadow: - type: boolean - type: object - type: array - enabledFor: - type: string - x-kubernetes-int-or-string: true - type: object - envoyMetadata: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - extProc: - properties: - disabled: - nullable: true - type: boolean - overrides: - properties: - asyncMode: - nullable: true - type: boolean - grpcService: - properties: - authority: - nullable: true - type: string - extProcServerRef: - properties: - name: - type: string - namespace: - type: string - type: object - initialMetadata: - items: - properties: - key: - type: string - value: - type: string - type: object - type: array - retryPolicy: - properties: - numRetries: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - retryBackOff: - properties: - baseInterval: - type: string - maxInterval: - type: string - type: object - type: object - timeout: - type: string - type: object - metadataContextNamespaces: - items: - type: string - type: array - processingMode: - properties: - requestBodyMode: - type: string - x-kubernetes-int-or-string: true - requestHeaderMode: - type: string - x-kubernetes-int-or-string: true - requestTrailerMode: - type: string - x-kubernetes-int-or-string: true - responseBodyMode: - type: string - x-kubernetes-int-or-string: true - responseHeaderMode: - type: string - x-kubernetes-int-or-string: true - responseTrailerMode: - type: string - x-kubernetes-int-or-string: true - type: object - requestAttributes: - items: - type: string - type: array - responseAttributes: - items: - type: string - type: array - typedMetadataContextNamespaces: - items: - type: string - type: array - type: object - type: object - extauth: - properties: - configRef: - properties: - name: - type: string - namespace: - type: string - type: object - customAuth: - properties: - contextExtensions: - additionalProperties: - type: string - type: object - name: - type: string - type: object - disable: - type: boolean - type: object - extensions: - properties: - configs: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - faults: - properties: - abort: - properties: - httpStatus: - maximum: 4294967295 - minimum: 0 - type: integer - percentage: - type: number - type: object - delay: - properties: - fixedDelay: - type: string - percentage: - type: number - type: object - type: object - headerManipulation: - properties: - requestHeadersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - headerSecretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: array - requestHeadersToRemove: - items: - type: string - type: array - responseHeadersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - type: object - type: array - responseHeadersToRemove: - items: - type: string - type: array - type: object - hostRewrite: - type: string - hostRewriteHeader: - nullable: true - type: string - hostRewritePathRegex: - properties: - pattern: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - substitution: - type: string - type: object - idleTimeout: - type: string - jwt: - properties: - disable: - type: boolean - type: object - jwtProvidersStaged: - properties: - afterExtAuth: - properties: - allowMissingOrFailedJwt: - type: boolean - providers: - additionalProperties: - properties: - audiences: - items: - type: string - type: array - claimsToHeaders: - items: - properties: - append: - type: boolean - claim: - type: string - header: - type: string - type: object - type: array - clockSkewSeconds: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - issuer: - type: string - jwks: - properties: - local: - properties: - key: - type: string - type: object - remote: - properties: - asyncFetch: - properties: - fastListener: - type: boolean - type: object - cacheDuration: - type: string - upstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - url: - type: string - type: object - type: object - keepToken: - type: boolean - tokenSource: - properties: - headers: - items: - properties: - header: - type: string - prefix: - type: string - type: object - type: array - queryParams: - items: - type: string - type: array - type: object - type: object - type: object - validationPolicy: - type: string - x-kubernetes-int-or-string: true - type: object - beforeExtAuth: - properties: - allowMissingOrFailedJwt: - type: boolean - providers: - additionalProperties: - properties: - audiences: - items: - type: string - type: array - claimsToHeaders: - items: - properties: - append: - type: boolean - claim: - type: string - header: - type: string - type: object - type: array - clockSkewSeconds: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - issuer: - type: string - jwks: - properties: - local: - properties: - key: - type: string - type: object - remote: - properties: - asyncFetch: - properties: - fastListener: - type: boolean - type: object - cacheDuration: - type: string - upstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - url: - type: string - type: object - type: object - keepToken: - type: boolean - tokenSource: - properties: - headers: - items: - properties: - header: - type: string - prefix: - type: string - type: object - type: array - queryParams: - items: - type: string - type: array - type: object - type: object - type: object - validationPolicy: - type: string - x-kubernetes-int-or-string: true - type: object - type: object - jwtStaged: - properties: - afterExtAuth: - properties: - disable: - type: boolean - type: object - beforeExtAuth: - properties: - disable: - type: boolean - type: object - type: object - lbHash: - properties: - hashPolicies: - items: - properties: - cookie: - properties: - name: - type: string - path: - type: string - ttl: - type: string - type: object - header: - type: string - sourceIp: - type: boolean - terminal: - type: boolean - type: object - type: array - type: object - maxStreamDuration: - properties: - grpcTimeoutHeaderMax: - type: string - grpcTimeoutHeaderOffset: - type: string - maxStreamDuration: - type: string - type: object - prefixRewrite: - nullable: true - type: string - rateLimitConfigs: - properties: - refs: - items: - properties: - name: - type: string - namespace: - type: string - type: object - type: array - type: object - rateLimitEarlyConfigs: - properties: - refs: - items: - properties: - name: - type: string - namespace: - type: string - type: object - type: array - type: object - rateLimitRegularConfigs: - properties: - refs: - items: - properties: - name: - type: string - namespace: - type: string - type: object - type: array - type: object - ratelimit: - properties: - includeVhRateLimits: - type: boolean - localRatelimit: - properties: - fillInterval: - type: string - maxTokens: - maximum: 4294967295 - minimum: 0 - type: integer - tokensPerFill: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - rateLimits: - items: - properties: - actions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - limit: - properties: - dynamicMetadata: - properties: - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - type: object - type: object - setActions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - type: object - type: array - type: object - ratelimitBasic: - properties: - anonymousLimits: - properties: - requestsPerUnit: - maximum: 4294967295 - minimum: 0 - type: integer - unit: - type: string - x-kubernetes-int-or-string: true - type: object - authorizedLimits: - properties: - requestsPerUnit: - maximum: 4294967295 - minimum: 0 - type: integer - unit: - type: string - x-kubernetes-int-or-string: true - type: object - type: object - ratelimitEarly: - properties: - includeVhRateLimits: - type: boolean - localRatelimit: - properties: - fillInterval: - type: string - maxTokens: - maximum: 4294967295 - minimum: 0 - type: integer - tokensPerFill: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - rateLimits: - items: - properties: - actions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - limit: - properties: - dynamicMetadata: - properties: - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - type: object - type: object - setActions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - type: object - type: array - type: object - ratelimitRegular: - properties: - includeVhRateLimits: - type: boolean - localRatelimit: - properties: - fillInterval: - type: string - maxTokens: - maximum: 4294967295 - minimum: 0 - type: integer - tokensPerFill: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - rateLimits: - items: - properties: - actions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - limit: - properties: - dynamicMetadata: - properties: - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - type: object - type: object - setActions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - type: object - type: array - type: object - rbac: - properties: - disable: - type: boolean - policies: - additionalProperties: - properties: - nestedClaimDelimiter: - type: string - permissions: - properties: - methods: - items: - type: string - type: array - pathPrefix: - type: string - type: object - principals: - items: - properties: - jwtPrincipal: - properties: - claims: - additionalProperties: - type: string - type: object - matcher: - type: string - x-kubernetes-int-or-string: true - provider: - type: string - type: object - type: object - type: array - type: object - type: object - type: object - regexRewrite: - properties: - pattern: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - substitution: - type: string - type: object - retries: - properties: - numRetries: - maximum: 4294967295 - minimum: 0 - type: integer - perTryTimeout: - type: string - previousPriorities: - properties: - updateFrequency: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - retriableStatusCodes: - items: - maximum: 4294967295 - minimum: 0 - type: integer - type: array - retryBackOff: - properties: - baseInterval: - type: string - maxInterval: - type: string - type: object - retryOn: - type: string - type: object - shadowing: - properties: - percentage: - type: number - upstream: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - stagedTransformations: - properties: - early: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - escapeCharacters: - nullable: true - type: boolean - inheritTransformation: - type: boolean - logRequestResponseInfo: - nullable: true - type: boolean - postRouting: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - regular: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - type: object - timeout: - type: string - tracing: - properties: - propagate: - nullable: true - type: boolean - routeDescriptor: - type: string - tracePercentages: - properties: - clientSamplePercentage: - nullable: true - type: number - overallSamplePercentage: - nullable: true - type: number - randomSamplePercentage: - nullable: true - type: number - type: object - type: object - transformations: - properties: - clearRouteCache: - type: boolean - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - upgrades: - items: - properties: - connect: - properties: - enabled: - nullable: true - type: boolean - type: object - websocket: - properties: - enabled: - nullable: true - type: boolean - type: object - type: object - type: array - waf: - properties: - auditLogging: - properties: - action: - type: string - x-kubernetes-int-or-string: true - location: - type: string - x-kubernetes-int-or-string: true - type: object - configMapRuleSets: - items: - properties: - configMapRef: - properties: - name: - type: string - namespace: - type: string - type: object - dataMapKeys: - items: - type: string - type: array - type: object - type: array - coreRuleSet: - properties: - customSettingsFile: - type: string - customSettingsString: - type: string - type: object - customInterventionMessage: - type: string - disabled: - type: boolean - requestHeadersOnly: - type: boolean - responseHeadersOnly: - type: boolean - ruleSets: - items: - properties: - directory: - type: string - files: - items: - type: string - type: array - ruleStr: - type: string - type: object - type: array - type: object - type: object - targetRefs: - items: - properties: - group: - type: string - kind: - type: string - name: - type: string - namespace: - nullable: true - type: string - type: object - type: array - type: object - status: - default: {} - properties: - statuses: - default: {} - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/install/helm/gloo/crds/gateway.solo.io_v1_RouteTable.yaml b/install/helm/gloo/crds/gateway.solo.io_v1_RouteTable.yaml deleted file mode 100644 index 4ed310ea9f8..00000000000 --- a/install/helm/gloo/crds/gateway.solo.io_v1_RouteTable.yaml +++ /dev/null @@ -1,5805 +0,0 @@ -# CRD validation schema generated by solo-kit. DO NOT EDIT. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - creationTimestamp: null - name: routetables.gateway.solo.io -spec: - group: gateway.solo.io - names: - categories: - - gloo-gateway - kind: RouteTable - listKind: RouteTableList - plural: routetables - shortNames: - - rt - - grt - singular: routetable - scope: Namespaced - versions: - - name: v1 - schema: - openAPIV3Schema: - properties: - spec: - properties: - namespacedStatuses: - properties: - statuses: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - routes: - items: - properties: - delegateAction: - properties: - name: - type: string - namespace: - type: string - ref: - properties: - name: - type: string - namespace: - type: string - type: object - selector: - properties: - expressions: - items: - properties: - key: - type: string - operator: - type: string - x-kubernetes-int-or-string: true - values: - items: - type: string - type: array - type: object - type: array - labels: - additionalProperties: - type: string - type: object - namespaces: - items: - type: string - type: array - type: object - type: object - directResponseAction: - properties: - body: - type: string - status: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - graphqlApiRef: - properties: - name: - type: string - namespace: - type: string - type: object - inheritableMatchers: - nullable: true - type: boolean - inheritablePathMatchers: - nullable: true - type: boolean - matchers: - items: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - type: array - name: - type: string - options: - properties: - ai: - properties: - defaults: - items: - properties: - field: - type: string - override: - type: boolean - value: - x-kubernetes-preserve-unknown-fields: true - type: object - type: array - promptEnrichment: - properties: - append: - items: - properties: - content: - type: string - role: - type: string - type: object - type: array - prepend: - items: - properties: - content: - type: string - role: - type: string - type: object - type: array - type: object - promptGuard: - properties: - request: - properties: - customResponse: - properties: - message: - type: string - statusCode: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - moderation: - properties: - openai: - properties: - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - model: - type: string - type: object - type: object - regex: - properties: - action: - type: string - x-kubernetes-int-or-string: true - builtins: - items: - type: string - x-kubernetes-int-or-string: true - type: array - matches: - items: - properties: - name: - type: string - pattern: - type: string - type: object - type: array - type: object - webhook: - properties: - forwardHeaders: - items: - properties: - key: - type: string - matchType: - type: string - x-kubernetes-int-or-string: true - type: object - type: array - host: - type: string - port: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - response: - properties: - regex: - properties: - action: - type: string - x-kubernetes-int-or-string: true - builtins: - items: - type: string - x-kubernetes-int-or-string: true - type: array - matches: - items: - properties: - name: - type: string - pattern: - type: string - type: object - type: array - type: object - webhook: - properties: - forwardHeaders: - items: - properties: - key: - type: string - matchType: - type: string - x-kubernetes-int-or-string: true - type: object - type: array - host: - type: string - port: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - type: object - rag: - properties: - datastore: - properties: - postgres: - properties: - collectionName: - type: string - connectionString: - type: string - type: object - type: object - embedding: - properties: - azureOpenai: - properties: - apiVersion: - type: string - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - deploymentName: - type: string - endpoint: - type: string - type: object - openai: - properties: - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: object - type: object - promptTemplate: - type: string - type: object - routeType: - type: string - x-kubernetes-int-or-string: true - semanticCache: - properties: - datastore: - properties: - redis: - properties: - connectionString: - type: string - scoreThreshold: - type: number - type: object - weaviate: - properties: - grpcPort: - maximum: 4294967295 - minimum: 0 - type: integer - host: - type: string - httpPort: - maximum: 4294967295 - minimum: 0 - type: integer - insecure: - type: boolean - type: object - type: object - embedding: - properties: - azureOpenai: - properties: - apiVersion: - type: string - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - deploymentName: - type: string - endpoint: - type: string - type: object - openai: - properties: - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: object - type: object - mode: - type: string - x-kubernetes-int-or-string: true - ttl: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - appendXForwardedHost: - nullable: true - type: boolean - autoHostRewrite: - nullable: true - type: boolean - bufferPerRoute: - properties: - buffer: - properties: - maxRequestBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - disabled: - type: boolean - type: object - cors: - properties: - allowCredentials: - type: boolean - allowHeaders: - items: - type: string - type: array - allowMethods: - items: - type: string - type: array - allowOrigin: - items: - type: string - type: array - allowOriginRegex: - items: - type: string - type: array - disableForRoute: - type: boolean - exposeHeaders: - items: - type: string - type: array - maxAge: - type: string - type: object - csrf: - properties: - additionalOrigins: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - filterEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - shadowEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - type: object - dlp: - properties: - actions: - items: - properties: - actionType: - type: string - x-kubernetes-int-or-string: true - customAction: - properties: - maskChar: - type: string - name: - type: string - percent: - properties: - value: - type: number - type: object - regex: - items: - type: string - type: array - regexActions: - items: - properties: - regex: - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: array - type: object - keyValueAction: - properties: - keyToMask: - type: string - maskChar: - type: string - name: - type: string - percent: - properties: - value: - type: number - type: object - type: object - shadow: - type: boolean - type: object - type: array - enabledFor: - type: string - x-kubernetes-int-or-string: true - type: object - envoyMetadata: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - extProc: - properties: - disabled: - nullable: true - type: boolean - overrides: - properties: - asyncMode: - nullable: true - type: boolean - grpcService: - properties: - authority: - nullable: true - type: string - extProcServerRef: - properties: - name: - type: string - namespace: - type: string - type: object - initialMetadata: - items: - properties: - key: - type: string - value: - type: string - type: object - type: array - retryPolicy: - properties: - numRetries: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - retryBackOff: - properties: - baseInterval: - type: string - maxInterval: - type: string - type: object - type: object - timeout: - type: string - type: object - metadataContextNamespaces: - items: - type: string - type: array - processingMode: - properties: - requestBodyMode: - type: string - x-kubernetes-int-or-string: true - requestHeaderMode: - type: string - x-kubernetes-int-or-string: true - requestTrailerMode: - type: string - x-kubernetes-int-or-string: true - responseBodyMode: - type: string - x-kubernetes-int-or-string: true - responseHeaderMode: - type: string - x-kubernetes-int-or-string: true - responseTrailerMode: - type: string - x-kubernetes-int-or-string: true - type: object - requestAttributes: - items: - type: string - type: array - responseAttributes: - items: - type: string - type: array - typedMetadataContextNamespaces: - items: - type: string - type: array - type: object - type: object - extauth: - properties: - configRef: - properties: - name: - type: string - namespace: - type: string - type: object - customAuth: - properties: - contextExtensions: - additionalProperties: - type: string - type: object - name: - type: string - type: object - disable: - type: boolean - type: object - extensions: - properties: - configs: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - faults: - properties: - abort: - properties: - httpStatus: - maximum: 4294967295 - minimum: 0 - type: integer - percentage: - type: number - type: object - delay: - properties: - fixedDelay: - type: string - percentage: - type: number - type: object - type: object - headerManipulation: - properties: - requestHeadersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - headerSecretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: array - requestHeadersToRemove: - items: - type: string - type: array - responseHeadersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - type: object - type: array - responseHeadersToRemove: - items: - type: string - type: array - type: object - hostRewrite: - type: string - hostRewriteHeader: - nullable: true - type: string - hostRewritePathRegex: - properties: - pattern: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - substitution: - type: string - type: object - idleTimeout: - type: string - jwt: - properties: - disable: - type: boolean - type: object - jwtProvidersStaged: - properties: - afterExtAuth: - properties: - allowMissingOrFailedJwt: - type: boolean - providers: - additionalProperties: - properties: - audiences: - items: - type: string - type: array - claimsToHeaders: - items: - properties: - append: - type: boolean - claim: - type: string - header: - type: string - type: object - type: array - clockSkewSeconds: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - issuer: - type: string - jwks: - properties: - local: - properties: - key: - type: string - type: object - remote: - properties: - asyncFetch: - properties: - fastListener: - type: boolean - type: object - cacheDuration: - type: string - upstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - url: - type: string - type: object - type: object - keepToken: - type: boolean - tokenSource: - properties: - headers: - items: - properties: - header: - type: string - prefix: - type: string - type: object - type: array - queryParams: - items: - type: string - type: array - type: object - type: object - type: object - validationPolicy: - type: string - x-kubernetes-int-or-string: true - type: object - beforeExtAuth: - properties: - allowMissingOrFailedJwt: - type: boolean - providers: - additionalProperties: - properties: - audiences: - items: - type: string - type: array - claimsToHeaders: - items: - properties: - append: - type: boolean - claim: - type: string - header: - type: string - type: object - type: array - clockSkewSeconds: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - issuer: - type: string - jwks: - properties: - local: - properties: - key: - type: string - type: object - remote: - properties: - asyncFetch: - properties: - fastListener: - type: boolean - type: object - cacheDuration: - type: string - upstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - url: - type: string - type: object - type: object - keepToken: - type: boolean - tokenSource: - properties: - headers: - items: - properties: - header: - type: string - prefix: - type: string - type: object - type: array - queryParams: - items: - type: string - type: array - type: object - type: object - type: object - validationPolicy: - type: string - x-kubernetes-int-or-string: true - type: object - type: object - jwtStaged: - properties: - afterExtAuth: - properties: - disable: - type: boolean - type: object - beforeExtAuth: - properties: - disable: - type: boolean - type: object - type: object - lbHash: - properties: - hashPolicies: - items: - properties: - cookie: - properties: - name: - type: string - path: - type: string - ttl: - type: string - type: object - header: - type: string - sourceIp: - type: boolean - terminal: - type: boolean - type: object - type: array - type: object - maxStreamDuration: - properties: - grpcTimeoutHeaderMax: - type: string - grpcTimeoutHeaderOffset: - type: string - maxStreamDuration: - type: string - type: object - prefixRewrite: - nullable: true - type: string - rateLimitConfigs: - properties: - refs: - items: - properties: - name: - type: string - namespace: - type: string - type: object - type: array - type: object - rateLimitEarlyConfigs: - properties: - refs: - items: - properties: - name: - type: string - namespace: - type: string - type: object - type: array - type: object - rateLimitRegularConfigs: - properties: - refs: - items: - properties: - name: - type: string - namespace: - type: string - type: object - type: array - type: object - ratelimit: - properties: - includeVhRateLimits: - type: boolean - localRatelimit: - properties: - fillInterval: - type: string - maxTokens: - maximum: 4294967295 - minimum: 0 - type: integer - tokensPerFill: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - rateLimits: - items: - properties: - actions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - limit: - properties: - dynamicMetadata: - properties: - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - type: object - type: object - setActions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - type: object - type: array - type: object - ratelimitBasic: - properties: - anonymousLimits: - properties: - requestsPerUnit: - maximum: 4294967295 - minimum: 0 - type: integer - unit: - type: string - x-kubernetes-int-or-string: true - type: object - authorizedLimits: - properties: - requestsPerUnit: - maximum: 4294967295 - minimum: 0 - type: integer - unit: - type: string - x-kubernetes-int-or-string: true - type: object - type: object - ratelimitEarly: - properties: - includeVhRateLimits: - type: boolean - localRatelimit: - properties: - fillInterval: - type: string - maxTokens: - maximum: 4294967295 - minimum: 0 - type: integer - tokensPerFill: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - rateLimits: - items: - properties: - actions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - limit: - properties: - dynamicMetadata: - properties: - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - type: object - type: object - setActions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - type: object - type: array - type: object - ratelimitRegular: - properties: - includeVhRateLimits: - type: boolean - localRatelimit: - properties: - fillInterval: - type: string - maxTokens: - maximum: 4294967295 - minimum: 0 - type: integer - tokensPerFill: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - rateLimits: - items: - properties: - actions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - limit: - properties: - dynamicMetadata: - properties: - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - type: object - type: object - setActions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - type: object - type: array - type: object - rbac: - properties: - disable: - type: boolean - policies: - additionalProperties: - properties: - nestedClaimDelimiter: - type: string - permissions: - properties: - methods: - items: - type: string - type: array - pathPrefix: - type: string - type: object - principals: - items: - properties: - jwtPrincipal: - properties: - claims: - additionalProperties: - type: string - type: object - matcher: - type: string - x-kubernetes-int-or-string: true - provider: - type: string - type: object - type: object - type: array - type: object - type: object - type: object - regexRewrite: - properties: - pattern: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - substitution: - type: string - type: object - retries: - properties: - numRetries: - maximum: 4294967295 - minimum: 0 - type: integer - perTryTimeout: - type: string - previousPriorities: - properties: - updateFrequency: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - retriableStatusCodes: - items: - maximum: 4294967295 - minimum: 0 - type: integer - type: array - retryBackOff: - properties: - baseInterval: - type: string - maxInterval: - type: string - type: object - retryOn: - type: string - type: object - shadowing: - properties: - percentage: - type: number - upstream: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - stagedTransformations: - properties: - early: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - escapeCharacters: - nullable: true - type: boolean - inheritTransformation: - type: boolean - logRequestResponseInfo: - nullable: true - type: boolean - postRouting: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - regular: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - type: object - timeout: - type: string - tracing: - properties: - propagate: - nullable: true - type: boolean - routeDescriptor: - type: string - tracePercentages: - properties: - clientSamplePercentage: - nullable: true - type: number - overallSamplePercentage: - nullable: true - type: number - randomSamplePercentage: - nullable: true - type: number - type: object - type: object - transformations: - properties: - clearRouteCache: - type: boolean - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - upgrades: - items: - properties: - connect: - properties: - enabled: - nullable: true - type: boolean - type: object - websocket: - properties: - enabled: - nullable: true - type: boolean - type: object - type: object - type: array - waf: - properties: - auditLogging: - properties: - action: - type: string - x-kubernetes-int-or-string: true - location: - type: string - x-kubernetes-int-or-string: true - type: object - configMapRuleSets: - items: - properties: - configMapRef: - properties: - name: - type: string - namespace: - type: string - type: object - dataMapKeys: - items: - type: string - type: array - type: object - type: array - coreRuleSet: - properties: - customSettingsFile: - type: string - customSettingsString: - type: string - type: object - customInterventionMessage: - type: string - disabled: - type: boolean - requestHeadersOnly: - type: boolean - responseHeadersOnly: - type: boolean - ruleSets: - items: - properties: - directory: - type: string - files: - items: - type: string - type: array - ruleStr: - type: string - type: object - type: array - type: object - type: object - optionsConfigRefs: - properties: - delegateOptions: - items: - properties: - name: - type: string - namespace: - type: string - type: object - type: array - type: object - redirectAction: - properties: - hostRedirect: - type: string - httpsRedirect: - type: boolean - pathRedirect: - type: string - portRedirect: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - prefixRewrite: - type: string - regexRewrite: - properties: - pattern: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - substitution: - type: string - type: object - responseCode: - type: string - x-kubernetes-int-or-string: true - stripQuery: - type: boolean - type: object - routeAction: - properties: - clusterHeader: - type: string - dynamicForwardProxy: - properties: - autoHostRewriteHeader: - type: string - hostRewrite: - type: string - type: object - multi: - properties: - destinations: - items: - properties: - destination: - properties: - consul: - properties: - dataCenters: - items: - type: string - type: array - serviceName: - type: string - tags: - items: - type: string - type: array - type: object - destinationSpec: - properties: - aws: - properties: - invocationStyle: - type: string - x-kubernetes-int-or-string: true - logicalName: - type: string - requestTransformation: - type: boolean - responseTransformation: - type: boolean - unwrapAsAlb: - type: boolean - unwrapAsApiGateway: - type: boolean - wrapAsApiGateway: - type: boolean - type: object - azure: - properties: - functionName: - type: string - type: object - grpc: - properties: - function: - type: string - package: - type: string - parameters: - properties: - headers: - additionalProperties: - type: string - type: object - path: - nullable: true - type: string - type: object - service: - type: string - type: object - rest: - properties: - functionName: - type: string - parameters: - properties: - headers: - additionalProperties: - type: string - type: object - path: - nullable: true - type: string - type: object - responseTransformation: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - type: object - type: object - kube: - properties: - port: - maximum: 4294967295 - minimum: 0 - type: integer - ref: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - subset: - properties: - values: - additionalProperties: - type: string - type: object - type: object - upstream: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - options: - properties: - bufferPerRoute: - properties: - buffer: - properties: - maxRequestBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - disabled: - type: boolean - type: object - csrf: - properties: - additionalOrigins: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - filterEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - shadowEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - type: object - extauth: - properties: - configRef: - properties: - name: - type: string - namespace: - type: string - type: object - customAuth: - properties: - contextExtensions: - additionalProperties: - type: string - type: object - name: - type: string - type: object - disable: - type: boolean - type: object - extensions: - properties: - configs: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - headerManipulation: - properties: - requestHeadersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - headerSecretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: array - requestHeadersToRemove: - items: - type: string - type: array - responseHeadersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - type: object - type: array - responseHeadersToRemove: - items: - type: string - type: array - type: object - stagedTransformations: - properties: - early: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - escapeCharacters: - nullable: true - type: boolean - inheritTransformation: - type: boolean - logRequestResponseInfo: - nullable: true - type: boolean - postRouting: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - regular: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - type: object - transformations: - properties: - clearRouteCache: - type: boolean - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: object - weight: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - type: array - type: object - single: - properties: - consul: - properties: - dataCenters: - items: - type: string - type: array - serviceName: - type: string - tags: - items: - type: string - type: array - type: object - destinationSpec: - properties: - aws: - properties: - invocationStyle: - type: string - x-kubernetes-int-or-string: true - logicalName: - type: string - requestTransformation: - type: boolean - responseTransformation: - type: boolean - unwrapAsAlb: - type: boolean - unwrapAsApiGateway: - type: boolean - wrapAsApiGateway: - type: boolean - type: object - azure: - properties: - functionName: - type: string - type: object - grpc: - properties: - function: - type: string - package: - type: string - parameters: - properties: - headers: - additionalProperties: - type: string - type: object - path: - nullable: true - type: string - type: object - service: - type: string - type: object - rest: - properties: - functionName: - type: string - parameters: - properties: - headers: - additionalProperties: - type: string - type: object - path: - nullable: true - type: string - type: object - responseTransformation: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - type: object - type: object - kube: - properties: - port: - maximum: 4294967295 - minimum: 0 - type: integer - ref: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - subset: - properties: - values: - additionalProperties: - type: string - type: object - type: object - upstream: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - upstreamGroup: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: object - type: array - weight: - maximum: 2147483647 - minimum: -2147483648 - nullable: true - type: integer - type: object - status: - default: {} - properties: - statuses: - default: {} - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/install/helm/gloo/crds/gateway.solo.io_v1_VirtualHostOption.yaml b/install/helm/gloo/crds/gateway.solo.io_v1_VirtualHostOption.yaml deleted file mode 100644 index 050ce1f574a..00000000000 --- a/install/helm/gloo/crds/gateway.solo.io_v1_VirtualHostOption.yaml +++ /dev/null @@ -1,3076 +0,0 @@ -# CRD validation schema generated by solo-kit. DO NOT EDIT. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - creationTimestamp: null - name: virtualhostoptions.gateway.solo.io -spec: - group: gateway.solo.io - names: - categories: - - gloo-gateway - kind: VirtualHostOption - listKind: VirtualHostOptionList - plural: virtualhostoptions - shortNames: - - vho - - vhopts - - gvho - scope: Namespaced - versions: - - name: v1 - schema: - openAPIV3Schema: - properties: - spec: - properties: - namespacedStatuses: - properties: - statuses: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - options: - properties: - bufferPerRoute: - properties: - buffer: - properties: - maxRequestBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - disabled: - type: boolean - type: object - cors: - properties: - allowCredentials: - type: boolean - allowHeaders: - items: - type: string - type: array - allowMethods: - items: - type: string - type: array - allowOrigin: - items: - type: string - type: array - allowOriginRegex: - items: - type: string - type: array - disableForRoute: - type: boolean - exposeHeaders: - items: - type: string - type: array - maxAge: - type: string - type: object - corsPolicyMergeSettings: - properties: - exposeHeaders: - type: string - x-kubernetes-int-or-string: true - type: object - csrf: - properties: - additionalOrigins: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - filterEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - shadowEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - type: object - dlp: - properties: - actions: - items: - properties: - actionType: - type: string - x-kubernetes-int-or-string: true - customAction: - properties: - maskChar: - type: string - name: - type: string - percent: - properties: - value: - type: number - type: object - regex: - items: - type: string - type: array - regexActions: - items: - properties: - regex: - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: array - type: object - keyValueAction: - properties: - keyToMask: - type: string - maskChar: - type: string - name: - type: string - percent: - properties: - value: - type: number - type: object - type: object - shadow: - type: boolean - type: object - type: array - enabledFor: - type: string - x-kubernetes-int-or-string: true - type: object - extProc: - properties: - disabled: - nullable: true - type: boolean - overrides: - properties: - asyncMode: - nullable: true - type: boolean - grpcService: - properties: - authority: - nullable: true - type: string - extProcServerRef: - properties: - name: - type: string - namespace: - type: string - type: object - initialMetadata: - items: - properties: - key: - type: string - value: - type: string - type: object - type: array - retryPolicy: - properties: - numRetries: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - retryBackOff: - properties: - baseInterval: - type: string - maxInterval: - type: string - type: object - type: object - timeout: - type: string - type: object - metadataContextNamespaces: - items: - type: string - type: array - processingMode: - properties: - requestBodyMode: - type: string - x-kubernetes-int-or-string: true - requestHeaderMode: - type: string - x-kubernetes-int-or-string: true - requestTrailerMode: - type: string - x-kubernetes-int-or-string: true - responseBodyMode: - type: string - x-kubernetes-int-or-string: true - responseHeaderMode: - type: string - x-kubernetes-int-or-string: true - responseTrailerMode: - type: string - x-kubernetes-int-or-string: true - type: object - requestAttributes: - items: - type: string - type: array - responseAttributes: - items: - type: string - type: array - typedMetadataContextNamespaces: - items: - type: string - type: array - type: object - type: object - extauth: - properties: - configRef: - properties: - name: - type: string - namespace: - type: string - type: object - customAuth: - properties: - contextExtensions: - additionalProperties: - type: string - type: object - name: - type: string - type: object - disable: - type: boolean - type: object - extensions: - properties: - configs: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - headerManipulation: - properties: - requestHeadersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - headerSecretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: array - requestHeadersToRemove: - items: - type: string - type: array - responseHeadersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - type: object - type: array - responseHeadersToRemove: - items: - type: string - type: array - type: object - includeAttemptCountInResponse: - nullable: true - type: boolean - includeRequestAttemptCount: - nullable: true - type: boolean - jwt: - properties: - allowMissingOrFailedJwt: - type: boolean - providers: - additionalProperties: - properties: - audiences: - items: - type: string - type: array - claimsToHeaders: - items: - properties: - append: - type: boolean - claim: - type: string - header: - type: string - type: object - type: array - clockSkewSeconds: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - issuer: - type: string - jwks: - properties: - local: - properties: - key: - type: string - type: object - remote: - properties: - asyncFetch: - properties: - fastListener: - type: boolean - type: object - cacheDuration: - type: string - upstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - url: - type: string - type: object - type: object - keepToken: - type: boolean - tokenSource: - properties: - headers: - items: - properties: - header: - type: string - prefix: - type: string - type: object - type: array - queryParams: - items: - type: string - type: array - type: object - type: object - type: object - validationPolicy: - type: string - x-kubernetes-int-or-string: true - type: object - jwtStaged: - properties: - afterExtAuth: - properties: - allowMissingOrFailedJwt: - type: boolean - providers: - additionalProperties: - properties: - audiences: - items: - type: string - type: array - claimsToHeaders: - items: - properties: - append: - type: boolean - claim: - type: string - header: - type: string - type: object - type: array - clockSkewSeconds: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - issuer: - type: string - jwks: - properties: - local: - properties: - key: - type: string - type: object - remote: - properties: - asyncFetch: - properties: - fastListener: - type: boolean - type: object - cacheDuration: - type: string - upstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - url: - type: string - type: object - type: object - keepToken: - type: boolean - tokenSource: - properties: - headers: - items: - properties: - header: - type: string - prefix: - type: string - type: object - type: array - queryParams: - items: - type: string - type: array - type: object - type: object - type: object - validationPolicy: - type: string - x-kubernetes-int-or-string: true - type: object - beforeExtAuth: - properties: - allowMissingOrFailedJwt: - type: boolean - providers: - additionalProperties: - properties: - audiences: - items: - type: string - type: array - claimsToHeaders: - items: - properties: - append: - type: boolean - claim: - type: string - header: - type: string - type: object - type: array - clockSkewSeconds: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - issuer: - type: string - jwks: - properties: - local: - properties: - key: - type: string - type: object - remote: - properties: - asyncFetch: - properties: - fastListener: - type: boolean - type: object - cacheDuration: - type: string - upstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - url: - type: string - type: object - type: object - keepToken: - type: boolean - tokenSource: - properties: - headers: - items: - properties: - header: - type: string - prefix: - type: string - type: object - type: array - queryParams: - items: - type: string - type: array - type: object - type: object - type: object - validationPolicy: - type: string - x-kubernetes-int-or-string: true - type: object - type: object - rateLimitConfigs: - properties: - refs: - items: - properties: - name: - type: string - namespace: - type: string - type: object - type: array - type: object - rateLimitEarlyConfigs: - properties: - refs: - items: - properties: - name: - type: string - namespace: - type: string - type: object - type: array - type: object - rateLimitRegularConfigs: - properties: - refs: - items: - properties: - name: - type: string - namespace: - type: string - type: object - type: array - type: object - ratelimit: - properties: - localRatelimit: - properties: - fillInterval: - type: string - maxTokens: - maximum: 4294967295 - minimum: 0 - type: integer - tokensPerFill: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - rateLimits: - items: - properties: - actions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - limit: - properties: - dynamicMetadata: - properties: - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - type: object - type: object - setActions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - type: object - type: array - type: object - ratelimitBasic: - properties: - anonymousLimits: - properties: - requestsPerUnit: - maximum: 4294967295 - minimum: 0 - type: integer - unit: - type: string - x-kubernetes-int-or-string: true - type: object - authorizedLimits: - properties: - requestsPerUnit: - maximum: 4294967295 - minimum: 0 - type: integer - unit: - type: string - x-kubernetes-int-or-string: true - type: object - type: object - ratelimitEarly: - properties: - localRatelimit: - properties: - fillInterval: - type: string - maxTokens: - maximum: 4294967295 - minimum: 0 - type: integer - tokensPerFill: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - rateLimits: - items: - properties: - actions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - limit: - properties: - dynamicMetadata: - properties: - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - type: object - type: object - setActions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - type: object - type: array - type: object - ratelimitRegular: - properties: - localRatelimit: - properties: - fillInterval: - type: string - maxTokens: - maximum: 4294967295 - minimum: 0 - type: integer - tokensPerFill: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - rateLimits: - items: - properties: - actions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - limit: - properties: - dynamicMetadata: - properties: - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - type: object - type: object - setActions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - type: object - type: array - type: object - rbac: - properties: - disable: - type: boolean - policies: - additionalProperties: - properties: - nestedClaimDelimiter: - type: string - permissions: - properties: - methods: - items: - type: string - type: array - pathPrefix: - type: string - type: object - principals: - items: - properties: - jwtPrincipal: - properties: - claims: - additionalProperties: - type: string - type: object - matcher: - type: string - x-kubernetes-int-or-string: true - provider: - type: string - type: object - type: object - type: array - type: object - type: object - type: object - retries: - properties: - numRetries: - maximum: 4294967295 - minimum: 0 - type: integer - perTryTimeout: - type: string - previousPriorities: - properties: - updateFrequency: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - retriableStatusCodes: - items: - maximum: 4294967295 - minimum: 0 - type: integer - type: array - retryBackOff: - properties: - baseInterval: - type: string - maxInterval: - type: string - type: object - retryOn: - type: string - type: object - stagedTransformations: - properties: - early: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - escapeCharacters: - nullable: true - type: boolean - inheritTransformation: - type: boolean - logRequestResponseInfo: - nullable: true - type: boolean - postRouting: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - regular: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - type: object - stats: - properties: - virtualClusters: - items: - properties: - method: - type: string - name: - type: string - pattern: - type: string - type: object - type: array - type: object - transformations: - properties: - clearRouteCache: - type: boolean - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - waf: - properties: - auditLogging: - properties: - action: - type: string - x-kubernetes-int-or-string: true - location: - type: string - x-kubernetes-int-or-string: true - type: object - configMapRuleSets: - items: - properties: - configMapRef: - properties: - name: - type: string - namespace: - type: string - type: object - dataMapKeys: - items: - type: string - type: array - type: object - type: array - coreRuleSet: - properties: - customSettingsFile: - type: string - customSettingsString: - type: string - type: object - customInterventionMessage: - type: string - disabled: - type: boolean - requestHeadersOnly: - type: boolean - responseHeadersOnly: - type: boolean - ruleSets: - items: - properties: - directory: - type: string - files: - items: - type: string - type: array - ruleStr: - type: string - type: object - type: array - type: object - type: object - targetRefs: - items: - properties: - group: - type: string - kind: - type: string - name: - type: string - namespace: - nullable: true - type: string - sectionName: - nullable: true - type: string - type: object - type: array - type: object - status: - default: {} - properties: - statuses: - default: {} - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/install/helm/gloo/crds/gateway.solo.io_v1_VirtualService.yaml b/install/helm/gloo/crds/gateway.solo.io_v1_VirtualService.yaml deleted file mode 100644 index 37e6bd9e719..00000000000 --- a/install/helm/gloo/crds/gateway.solo.io_v1_VirtualService.yaml +++ /dev/null @@ -1,8908 +0,0 @@ -# CRD validation schema generated by solo-kit. DO NOT EDIT. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - creationTimestamp: null - name: virtualservices.gateway.solo.io -spec: - group: gateway.solo.io - names: - categories: - - gloo-gateway - kind: VirtualService - listKind: VirtualServiceList - plural: virtualservices - shortNames: - - vs - - gvs - singular: virtualservice - scope: Namespaced - versions: - - name: v1 - schema: - openAPIV3Schema: - properties: - spec: - properties: - displayName: - type: string - namespacedStatuses: - properties: - statuses: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - sslConfig: - properties: - alpnProtocols: - items: - type: string - type: array - disableTlsSessionResumption: - nullable: true - type: boolean - ocspStaplePolicy: - type: string - x-kubernetes-int-or-string: true - oneWayTls: - nullable: true - type: boolean - parameters: - properties: - cipherSuites: - items: - type: string - type: array - ecdhCurves: - items: - type: string - type: array - maximumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - minimumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - type: object - sds: - properties: - callCredentials: - properties: - fileCredentialSource: - properties: - header: - type: string - tokenFileName: - type: string - type: object - type: object - certificatesSecretName: - type: string - clusterName: - type: string - targetUri: - type: string - validationContextName: - type: string - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - sniDomains: - items: - type: string - type: array - sslFiles: - properties: - ocspStaple: - type: string - rootCa: - type: string - tlsCert: - type: string - tlsKey: - type: string - type: object - transportSocketConnectTimeout: - type: string - verifySubjectAltName: - items: - type: string - type: array - type: object - virtualHost: - properties: - domains: - items: - type: string - type: array - options: - properties: - bufferPerRoute: - properties: - buffer: - properties: - maxRequestBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - disabled: - type: boolean - type: object - cors: - properties: - allowCredentials: - type: boolean - allowHeaders: - items: - type: string - type: array - allowMethods: - items: - type: string - type: array - allowOrigin: - items: - type: string - type: array - allowOriginRegex: - items: - type: string - type: array - disableForRoute: - type: boolean - exposeHeaders: - items: - type: string - type: array - maxAge: - type: string - type: object - corsPolicyMergeSettings: - properties: - exposeHeaders: - type: string - x-kubernetes-int-or-string: true - type: object - csrf: - properties: - additionalOrigins: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - filterEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - shadowEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - type: object - dlp: - properties: - actions: - items: - properties: - actionType: - type: string - x-kubernetes-int-or-string: true - customAction: - properties: - maskChar: - type: string - name: - type: string - percent: - properties: - value: - type: number - type: object - regex: - items: - type: string - type: array - regexActions: - items: - properties: - regex: - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: array - type: object - keyValueAction: - properties: - keyToMask: - type: string - maskChar: - type: string - name: - type: string - percent: - properties: - value: - type: number - type: object - type: object - shadow: - type: boolean - type: object - type: array - enabledFor: - type: string - x-kubernetes-int-or-string: true - type: object - extProc: - properties: - disabled: - nullable: true - type: boolean - overrides: - properties: - asyncMode: - nullable: true - type: boolean - grpcService: - properties: - authority: - nullable: true - type: string - extProcServerRef: - properties: - name: - type: string - namespace: - type: string - type: object - initialMetadata: - items: - properties: - key: - type: string - value: - type: string - type: object - type: array - retryPolicy: - properties: - numRetries: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - retryBackOff: - properties: - baseInterval: - type: string - maxInterval: - type: string - type: object - type: object - timeout: - type: string - type: object - metadataContextNamespaces: - items: - type: string - type: array - processingMode: - properties: - requestBodyMode: - type: string - x-kubernetes-int-or-string: true - requestHeaderMode: - type: string - x-kubernetes-int-or-string: true - requestTrailerMode: - type: string - x-kubernetes-int-or-string: true - responseBodyMode: - type: string - x-kubernetes-int-or-string: true - responseHeaderMode: - type: string - x-kubernetes-int-or-string: true - responseTrailerMode: - type: string - x-kubernetes-int-or-string: true - type: object - requestAttributes: - items: - type: string - type: array - responseAttributes: - items: - type: string - type: array - typedMetadataContextNamespaces: - items: - type: string - type: array - type: object - type: object - extauth: - properties: - configRef: - properties: - name: - type: string - namespace: - type: string - type: object - customAuth: - properties: - contextExtensions: - additionalProperties: - type: string - type: object - name: - type: string - type: object - disable: - type: boolean - type: object - extensions: - properties: - configs: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - headerManipulation: - properties: - requestHeadersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - headerSecretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: array - requestHeadersToRemove: - items: - type: string - type: array - responseHeadersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - type: object - type: array - responseHeadersToRemove: - items: - type: string - type: array - type: object - includeAttemptCountInResponse: - nullable: true - type: boolean - includeRequestAttemptCount: - nullable: true - type: boolean - jwt: - properties: - allowMissingOrFailedJwt: - type: boolean - providers: - additionalProperties: - properties: - audiences: - items: - type: string - type: array - claimsToHeaders: - items: - properties: - append: - type: boolean - claim: - type: string - header: - type: string - type: object - type: array - clockSkewSeconds: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - issuer: - type: string - jwks: - properties: - local: - properties: - key: - type: string - type: object - remote: - properties: - asyncFetch: - properties: - fastListener: - type: boolean - type: object - cacheDuration: - type: string - upstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - url: - type: string - type: object - type: object - keepToken: - type: boolean - tokenSource: - properties: - headers: - items: - properties: - header: - type: string - prefix: - type: string - type: object - type: array - queryParams: - items: - type: string - type: array - type: object - type: object - type: object - validationPolicy: - type: string - x-kubernetes-int-or-string: true - type: object - jwtStaged: - properties: - afterExtAuth: - properties: - allowMissingOrFailedJwt: - type: boolean - providers: - additionalProperties: - properties: - audiences: - items: - type: string - type: array - claimsToHeaders: - items: - properties: - append: - type: boolean - claim: - type: string - header: - type: string - type: object - type: array - clockSkewSeconds: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - issuer: - type: string - jwks: - properties: - local: - properties: - key: - type: string - type: object - remote: - properties: - asyncFetch: - properties: - fastListener: - type: boolean - type: object - cacheDuration: - type: string - upstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - url: - type: string - type: object - type: object - keepToken: - type: boolean - tokenSource: - properties: - headers: - items: - properties: - header: - type: string - prefix: - type: string - type: object - type: array - queryParams: - items: - type: string - type: array - type: object - type: object - type: object - validationPolicy: - type: string - x-kubernetes-int-or-string: true - type: object - beforeExtAuth: - properties: - allowMissingOrFailedJwt: - type: boolean - providers: - additionalProperties: - properties: - audiences: - items: - type: string - type: array - claimsToHeaders: - items: - properties: - append: - type: boolean - claim: - type: string - header: - type: string - type: object - type: array - clockSkewSeconds: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - issuer: - type: string - jwks: - properties: - local: - properties: - key: - type: string - type: object - remote: - properties: - asyncFetch: - properties: - fastListener: - type: boolean - type: object - cacheDuration: - type: string - upstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - url: - type: string - type: object - type: object - keepToken: - type: boolean - tokenSource: - properties: - headers: - items: - properties: - header: - type: string - prefix: - type: string - type: object - type: array - queryParams: - items: - type: string - type: array - type: object - type: object - type: object - validationPolicy: - type: string - x-kubernetes-int-or-string: true - type: object - type: object - rateLimitConfigs: - properties: - refs: - items: - properties: - name: - type: string - namespace: - type: string - type: object - type: array - type: object - rateLimitEarlyConfigs: - properties: - refs: - items: - properties: - name: - type: string - namespace: - type: string - type: object - type: array - type: object - rateLimitRegularConfigs: - properties: - refs: - items: - properties: - name: - type: string - namespace: - type: string - type: object - type: array - type: object - ratelimit: - properties: - localRatelimit: - properties: - fillInterval: - type: string - maxTokens: - maximum: 4294967295 - minimum: 0 - type: integer - tokensPerFill: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - rateLimits: - items: - properties: - actions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - limit: - properties: - dynamicMetadata: - properties: - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - type: object - type: object - setActions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - type: object - type: array - type: object - ratelimitBasic: - properties: - anonymousLimits: - properties: - requestsPerUnit: - maximum: 4294967295 - minimum: 0 - type: integer - unit: - type: string - x-kubernetes-int-or-string: true - type: object - authorizedLimits: - properties: - requestsPerUnit: - maximum: 4294967295 - minimum: 0 - type: integer - unit: - type: string - x-kubernetes-int-or-string: true - type: object - type: object - ratelimitEarly: - properties: - localRatelimit: - properties: - fillInterval: - type: string - maxTokens: - maximum: 4294967295 - minimum: 0 - type: integer - tokensPerFill: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - rateLimits: - items: - properties: - actions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - limit: - properties: - dynamicMetadata: - properties: - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - type: object - type: object - setActions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - type: object - type: array - type: object - ratelimitRegular: - properties: - localRatelimit: - properties: - fillInterval: - type: string - maxTokens: - maximum: 4294967295 - minimum: 0 - type: integer - tokensPerFill: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - rateLimits: - items: - properties: - actions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - limit: - properties: - dynamicMetadata: - properties: - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - type: object - type: object - setActions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - type: object - type: array - type: object - rbac: - properties: - disable: - type: boolean - policies: - additionalProperties: - properties: - nestedClaimDelimiter: - type: string - permissions: - properties: - methods: - items: - type: string - type: array - pathPrefix: - type: string - type: object - principals: - items: - properties: - jwtPrincipal: - properties: - claims: - additionalProperties: - type: string - type: object - matcher: - type: string - x-kubernetes-int-or-string: true - provider: - type: string - type: object - type: object - type: array - type: object - type: object - type: object - retries: - properties: - numRetries: - maximum: 4294967295 - minimum: 0 - type: integer - perTryTimeout: - type: string - previousPriorities: - properties: - updateFrequency: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - retriableStatusCodes: - items: - maximum: 4294967295 - minimum: 0 - type: integer - type: array - retryBackOff: - properties: - baseInterval: - type: string - maxInterval: - type: string - type: object - retryOn: - type: string - type: object - stagedTransformations: - properties: - early: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - escapeCharacters: - nullable: true - type: boolean - inheritTransformation: - type: boolean - logRequestResponseInfo: - nullable: true - type: boolean - postRouting: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - regular: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - type: object - stats: - properties: - virtualClusters: - items: - properties: - method: - type: string - name: - type: string - pattern: - type: string - type: object - type: array - type: object - transformations: - properties: - clearRouteCache: - type: boolean - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - waf: - properties: - auditLogging: - properties: - action: - type: string - x-kubernetes-int-or-string: true - location: - type: string - x-kubernetes-int-or-string: true - type: object - configMapRuleSets: - items: - properties: - configMapRef: - properties: - name: - type: string - namespace: - type: string - type: object - dataMapKeys: - items: - type: string - type: array - type: object - type: array - coreRuleSet: - properties: - customSettingsFile: - type: string - customSettingsString: - type: string - type: object - customInterventionMessage: - type: string - disabled: - type: boolean - requestHeadersOnly: - type: boolean - responseHeadersOnly: - type: boolean - ruleSets: - items: - properties: - directory: - type: string - files: - items: - type: string - type: array - ruleStr: - type: string - type: object - type: array - type: object - type: object - optionsConfigRefs: - properties: - delegateOptions: - items: - properties: - name: - type: string - namespace: - type: string - type: object - type: array - type: object - routes: - items: - properties: - delegateAction: - properties: - name: - type: string - namespace: - type: string - ref: - properties: - name: - type: string - namespace: - type: string - type: object - selector: - properties: - expressions: - items: - properties: - key: - type: string - operator: - type: string - x-kubernetes-int-or-string: true - values: - items: - type: string - type: array - type: object - type: array - labels: - additionalProperties: - type: string - type: object - namespaces: - items: - type: string - type: array - type: object - type: object - directResponseAction: - properties: - body: - type: string - status: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - graphqlApiRef: - properties: - name: - type: string - namespace: - type: string - type: object - inheritableMatchers: - nullable: true - type: boolean - inheritablePathMatchers: - nullable: true - type: boolean - matchers: - items: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - type: array - name: - type: string - options: - properties: - ai: - properties: - defaults: - items: - properties: - field: - type: string - override: - type: boolean - value: - x-kubernetes-preserve-unknown-fields: true - type: object - type: array - promptEnrichment: - properties: - append: - items: - properties: - content: - type: string - role: - type: string - type: object - type: array - prepend: - items: - properties: - content: - type: string - role: - type: string - type: object - type: array - type: object - promptGuard: - properties: - request: - properties: - customResponse: - properties: - message: - type: string - statusCode: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - moderation: - properties: - openai: - properties: - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - model: - type: string - type: object - type: object - regex: - properties: - action: - type: string - x-kubernetes-int-or-string: true - builtins: - items: - type: string - x-kubernetes-int-or-string: true - type: array - matches: - items: - properties: - name: - type: string - pattern: - type: string - type: object - type: array - type: object - webhook: - properties: - forwardHeaders: - items: - properties: - key: - type: string - matchType: - type: string - x-kubernetes-int-or-string: true - type: object - type: array - host: - type: string - port: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - response: - properties: - regex: - properties: - action: - type: string - x-kubernetes-int-or-string: true - builtins: - items: - type: string - x-kubernetes-int-or-string: true - type: array - matches: - items: - properties: - name: - type: string - pattern: - type: string - type: object - type: array - type: object - webhook: - properties: - forwardHeaders: - items: - properties: - key: - type: string - matchType: - type: string - x-kubernetes-int-or-string: true - type: object - type: array - host: - type: string - port: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - type: object - rag: - properties: - datastore: - properties: - postgres: - properties: - collectionName: - type: string - connectionString: - type: string - type: object - type: object - embedding: - properties: - azureOpenai: - properties: - apiVersion: - type: string - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - deploymentName: - type: string - endpoint: - type: string - type: object - openai: - properties: - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: object - type: object - promptTemplate: - type: string - type: object - routeType: - type: string - x-kubernetes-int-or-string: true - semanticCache: - properties: - datastore: - properties: - redis: - properties: - connectionString: - type: string - scoreThreshold: - type: number - type: object - weaviate: - properties: - grpcPort: - maximum: 4294967295 - minimum: 0 - type: integer - host: - type: string - httpPort: - maximum: 4294967295 - minimum: 0 - type: integer - insecure: - type: boolean - type: object - type: object - embedding: - properties: - azureOpenai: - properties: - apiVersion: - type: string - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - deploymentName: - type: string - endpoint: - type: string - type: object - openai: - properties: - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: object - type: object - mode: - type: string - x-kubernetes-int-or-string: true - ttl: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - appendXForwardedHost: - nullable: true - type: boolean - autoHostRewrite: - nullable: true - type: boolean - bufferPerRoute: - properties: - buffer: - properties: - maxRequestBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - disabled: - type: boolean - type: object - cors: - properties: - allowCredentials: - type: boolean - allowHeaders: - items: - type: string - type: array - allowMethods: - items: - type: string - type: array - allowOrigin: - items: - type: string - type: array - allowOriginRegex: - items: - type: string - type: array - disableForRoute: - type: boolean - exposeHeaders: - items: - type: string - type: array - maxAge: - type: string - type: object - csrf: - properties: - additionalOrigins: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - filterEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - shadowEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - type: object - dlp: - properties: - actions: - items: - properties: - actionType: - type: string - x-kubernetes-int-or-string: true - customAction: - properties: - maskChar: - type: string - name: - type: string - percent: - properties: - value: - type: number - type: object - regex: - items: - type: string - type: array - regexActions: - items: - properties: - regex: - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: array - type: object - keyValueAction: - properties: - keyToMask: - type: string - maskChar: - type: string - name: - type: string - percent: - properties: - value: - type: number - type: object - type: object - shadow: - type: boolean - type: object - type: array - enabledFor: - type: string - x-kubernetes-int-or-string: true - type: object - envoyMetadata: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - extProc: - properties: - disabled: - nullable: true - type: boolean - overrides: - properties: - asyncMode: - nullable: true - type: boolean - grpcService: - properties: - authority: - nullable: true - type: string - extProcServerRef: - properties: - name: - type: string - namespace: - type: string - type: object - initialMetadata: - items: - properties: - key: - type: string - value: - type: string - type: object - type: array - retryPolicy: - properties: - numRetries: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - retryBackOff: - properties: - baseInterval: - type: string - maxInterval: - type: string - type: object - type: object - timeout: - type: string - type: object - metadataContextNamespaces: - items: - type: string - type: array - processingMode: - properties: - requestBodyMode: - type: string - x-kubernetes-int-or-string: true - requestHeaderMode: - type: string - x-kubernetes-int-or-string: true - requestTrailerMode: - type: string - x-kubernetes-int-or-string: true - responseBodyMode: - type: string - x-kubernetes-int-or-string: true - responseHeaderMode: - type: string - x-kubernetes-int-or-string: true - responseTrailerMode: - type: string - x-kubernetes-int-or-string: true - type: object - requestAttributes: - items: - type: string - type: array - responseAttributes: - items: - type: string - type: array - typedMetadataContextNamespaces: - items: - type: string - type: array - type: object - type: object - extauth: - properties: - configRef: - properties: - name: - type: string - namespace: - type: string - type: object - customAuth: - properties: - contextExtensions: - additionalProperties: - type: string - type: object - name: - type: string - type: object - disable: - type: boolean - type: object - extensions: - properties: - configs: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - faults: - properties: - abort: - properties: - httpStatus: - maximum: 4294967295 - minimum: 0 - type: integer - percentage: - type: number - type: object - delay: - properties: - fixedDelay: - type: string - percentage: - type: number - type: object - type: object - headerManipulation: - properties: - requestHeadersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - headerSecretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: array - requestHeadersToRemove: - items: - type: string - type: array - responseHeadersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - type: object - type: array - responseHeadersToRemove: - items: - type: string - type: array - type: object - hostRewrite: - type: string - hostRewriteHeader: - nullable: true - type: string - hostRewritePathRegex: - properties: - pattern: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - substitution: - type: string - type: object - idleTimeout: - type: string - jwt: - properties: - disable: - type: boolean - type: object - jwtProvidersStaged: - properties: - afterExtAuth: - properties: - allowMissingOrFailedJwt: - type: boolean - providers: - additionalProperties: - properties: - audiences: - items: - type: string - type: array - claimsToHeaders: - items: - properties: - append: - type: boolean - claim: - type: string - header: - type: string - type: object - type: array - clockSkewSeconds: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - issuer: - type: string - jwks: - properties: - local: - properties: - key: - type: string - type: object - remote: - properties: - asyncFetch: - properties: - fastListener: - type: boolean - type: object - cacheDuration: - type: string - upstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - url: - type: string - type: object - type: object - keepToken: - type: boolean - tokenSource: - properties: - headers: - items: - properties: - header: - type: string - prefix: - type: string - type: object - type: array - queryParams: - items: - type: string - type: array - type: object - type: object - type: object - validationPolicy: - type: string - x-kubernetes-int-or-string: true - type: object - beforeExtAuth: - properties: - allowMissingOrFailedJwt: - type: boolean - providers: - additionalProperties: - properties: - audiences: - items: - type: string - type: array - claimsToHeaders: - items: - properties: - append: - type: boolean - claim: - type: string - header: - type: string - type: object - type: array - clockSkewSeconds: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - issuer: - type: string - jwks: - properties: - local: - properties: - key: - type: string - type: object - remote: - properties: - asyncFetch: - properties: - fastListener: - type: boolean - type: object - cacheDuration: - type: string - upstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - url: - type: string - type: object - type: object - keepToken: - type: boolean - tokenSource: - properties: - headers: - items: - properties: - header: - type: string - prefix: - type: string - type: object - type: array - queryParams: - items: - type: string - type: array - type: object - type: object - type: object - validationPolicy: - type: string - x-kubernetes-int-or-string: true - type: object - type: object - jwtStaged: - properties: - afterExtAuth: - properties: - disable: - type: boolean - type: object - beforeExtAuth: - properties: - disable: - type: boolean - type: object - type: object - lbHash: - properties: - hashPolicies: - items: - properties: - cookie: - properties: - name: - type: string - path: - type: string - ttl: - type: string - type: object - header: - type: string - sourceIp: - type: boolean - terminal: - type: boolean - type: object - type: array - type: object - maxStreamDuration: - properties: - grpcTimeoutHeaderMax: - type: string - grpcTimeoutHeaderOffset: - type: string - maxStreamDuration: - type: string - type: object - prefixRewrite: - nullable: true - type: string - rateLimitConfigs: - properties: - refs: - items: - properties: - name: - type: string - namespace: - type: string - type: object - type: array - type: object - rateLimitEarlyConfigs: - properties: - refs: - items: - properties: - name: - type: string - namespace: - type: string - type: object - type: array - type: object - rateLimitRegularConfigs: - properties: - refs: - items: - properties: - name: - type: string - namespace: - type: string - type: object - type: array - type: object - ratelimit: - properties: - includeVhRateLimits: - type: boolean - localRatelimit: - properties: - fillInterval: - type: string - maxTokens: - maximum: 4294967295 - minimum: 0 - type: integer - tokensPerFill: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - rateLimits: - items: - properties: - actions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - limit: - properties: - dynamicMetadata: - properties: - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - type: object - type: object - setActions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - type: object - type: array - type: object - ratelimitBasic: - properties: - anonymousLimits: - properties: - requestsPerUnit: - maximum: 4294967295 - minimum: 0 - type: integer - unit: - type: string - x-kubernetes-int-or-string: true - type: object - authorizedLimits: - properties: - requestsPerUnit: - maximum: 4294967295 - minimum: 0 - type: integer - unit: - type: string - x-kubernetes-int-or-string: true - type: object - type: object - ratelimitEarly: - properties: - includeVhRateLimits: - type: boolean - localRatelimit: - properties: - fillInterval: - type: string - maxTokens: - maximum: 4294967295 - minimum: 0 - type: integer - tokensPerFill: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - rateLimits: - items: - properties: - actions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - limit: - properties: - dynamicMetadata: - properties: - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - type: object - type: object - setActions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - type: object - type: array - type: object - ratelimitRegular: - properties: - includeVhRateLimits: - type: boolean - localRatelimit: - properties: - fillInterval: - type: string - maxTokens: - maximum: 4294967295 - minimum: 0 - type: integer - tokensPerFill: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - rateLimits: - items: - properties: - actions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - limit: - properties: - dynamicMetadata: - properties: - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - type: object - type: object - setActions: - items: - properties: - destinationCluster: - type: object - genericKey: - properties: - descriptorValue: - type: string - type: object - headerValueMatch: - properties: - descriptorValue: - type: string - expectMatch: - nullable: true - type: boolean - headers: - items: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - regexMatch: - type: string - suffixMatch: - type: string - type: object - type: array - type: object - metadata: - properties: - defaultValue: - type: string - descriptorKey: - type: string - metadataKey: - properties: - key: - type: string - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - source: - type: string - x-kubernetes-int-or-string: true - type: object - remoteAddress: - type: object - requestHeaders: - properties: - descriptorKey: - type: string - headerName: - type: string - type: object - sourceCluster: - type: object - type: object - type: array - type: object - type: array - type: object - rbac: - properties: - disable: - type: boolean - policies: - additionalProperties: - properties: - nestedClaimDelimiter: - type: string - permissions: - properties: - methods: - items: - type: string - type: array - pathPrefix: - type: string - type: object - principals: - items: - properties: - jwtPrincipal: - properties: - claims: - additionalProperties: - type: string - type: object - matcher: - type: string - x-kubernetes-int-or-string: true - provider: - type: string - type: object - type: object - type: array - type: object - type: object - type: object - regexRewrite: - properties: - pattern: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - substitution: - type: string - type: object - retries: - properties: - numRetries: - maximum: 4294967295 - minimum: 0 - type: integer - perTryTimeout: - type: string - previousPriorities: - properties: - updateFrequency: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - retriableStatusCodes: - items: - maximum: 4294967295 - minimum: 0 - type: integer - type: array - retryBackOff: - properties: - baseInterval: - type: string - maxInterval: - type: string - type: object - retryOn: - type: string - type: object - shadowing: - properties: - percentage: - type: number - upstream: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - stagedTransformations: - properties: - early: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - escapeCharacters: - nullable: true - type: boolean - inheritTransformation: - type: boolean - logRequestResponseInfo: - nullable: true - type: boolean - postRouting: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - regular: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - type: object - timeout: - type: string - tracing: - properties: - propagate: - nullable: true - type: boolean - routeDescriptor: - type: string - tracePercentages: - properties: - clientSamplePercentage: - nullable: true - type: number - overallSamplePercentage: - nullable: true - type: number - randomSamplePercentage: - nullable: true - type: number - type: object - type: object - transformations: - properties: - clearRouteCache: - type: boolean - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - upgrades: - items: - properties: - connect: - properties: - enabled: - nullable: true - type: boolean - type: object - websocket: - properties: - enabled: - nullable: true - type: boolean - type: object - type: object - type: array - waf: - properties: - auditLogging: - properties: - action: - type: string - x-kubernetes-int-or-string: true - location: - type: string - x-kubernetes-int-or-string: true - type: object - configMapRuleSets: - items: - properties: - configMapRef: - properties: - name: - type: string - namespace: - type: string - type: object - dataMapKeys: - items: - type: string - type: array - type: object - type: array - coreRuleSet: - properties: - customSettingsFile: - type: string - customSettingsString: - type: string - type: object - customInterventionMessage: - type: string - disabled: - type: boolean - requestHeadersOnly: - type: boolean - responseHeadersOnly: - type: boolean - ruleSets: - items: - properties: - directory: - type: string - files: - items: - type: string - type: array - ruleStr: - type: string - type: object - type: array - type: object - type: object - optionsConfigRefs: - properties: - delegateOptions: - items: - properties: - name: - type: string - namespace: - type: string - type: object - type: array - type: object - redirectAction: - properties: - hostRedirect: - type: string - httpsRedirect: - type: boolean - pathRedirect: - type: string - portRedirect: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - prefixRewrite: - type: string - regexRewrite: - properties: - pattern: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - substitution: - type: string - type: object - responseCode: - type: string - x-kubernetes-int-or-string: true - stripQuery: - type: boolean - type: object - routeAction: - properties: - clusterHeader: - type: string - dynamicForwardProxy: - properties: - autoHostRewriteHeader: - type: string - hostRewrite: - type: string - type: object - multi: - properties: - destinations: - items: - properties: - destination: - properties: - consul: - properties: - dataCenters: - items: - type: string - type: array - serviceName: - type: string - tags: - items: - type: string - type: array - type: object - destinationSpec: - properties: - aws: - properties: - invocationStyle: - type: string - x-kubernetes-int-or-string: true - logicalName: - type: string - requestTransformation: - type: boolean - responseTransformation: - type: boolean - unwrapAsAlb: - type: boolean - unwrapAsApiGateway: - type: boolean - wrapAsApiGateway: - type: boolean - type: object - azure: - properties: - functionName: - type: string - type: object - grpc: - properties: - function: - type: string - package: - type: string - parameters: - properties: - headers: - additionalProperties: - type: string - type: object - path: - nullable: true - type: string - type: object - service: - type: string - type: object - rest: - properties: - functionName: - type: string - parameters: - properties: - headers: - additionalProperties: - type: string - type: object - path: - nullable: true - type: string - type: object - responseTransformation: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - type: object - type: object - kube: - properties: - port: - maximum: 4294967295 - minimum: 0 - type: integer - ref: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - subset: - properties: - values: - additionalProperties: - type: string - type: object - type: object - upstream: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - options: - properties: - bufferPerRoute: - properties: - buffer: - properties: - maxRequestBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - disabled: - type: boolean - type: object - csrf: - properties: - additionalOrigins: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - filterEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - shadowEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - type: object - extauth: - properties: - configRef: - properties: - name: - type: string - namespace: - type: string - type: object - customAuth: - properties: - contextExtensions: - additionalProperties: - type: string - type: object - name: - type: string - type: object - disable: - type: boolean - type: object - extensions: - properties: - configs: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - headerManipulation: - properties: - requestHeadersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - headerSecretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: array - requestHeadersToRemove: - items: - type: string - type: array - responseHeadersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - type: object - type: array - responseHeadersToRemove: - items: - type: string - type: array - type: object - stagedTransformations: - properties: - early: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - escapeCharacters: - nullable: true - type: boolean - inheritTransformation: - type: boolean - logRequestResponseInfo: - nullable: true - type: boolean - postRouting: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - regular: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - type: object - transformations: - properties: - clearRouteCache: - type: boolean - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: object - weight: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - type: array - type: object - single: - properties: - consul: - properties: - dataCenters: - items: - type: string - type: array - serviceName: - type: string - tags: - items: - type: string - type: array - type: object - destinationSpec: - properties: - aws: - properties: - invocationStyle: - type: string - x-kubernetes-int-or-string: true - logicalName: - type: string - requestTransformation: - type: boolean - responseTransformation: - type: boolean - unwrapAsAlb: - type: boolean - unwrapAsApiGateway: - type: boolean - wrapAsApiGateway: - type: boolean - type: object - azure: - properties: - functionName: - type: string - type: object - grpc: - properties: - function: - type: string - package: - type: string - parameters: - properties: - headers: - additionalProperties: - type: string - type: object - path: - nullable: true - type: string - type: object - service: - type: string - type: object - rest: - properties: - functionName: - type: string - parameters: - properties: - headers: - additionalProperties: - type: string - type: object - path: - nullable: true - type: string - type: object - responseTransformation: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - type: object - type: object - kube: - properties: - port: - maximum: 4294967295 - minimum: 0 - type: integer - ref: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - subset: - properties: - values: - additionalProperties: - type: string - type: object - type: object - upstream: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - upstreamGroup: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: object - type: array - type: object - type: object - status: - default: {} - properties: - statuses: - default: {} - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/install/helm/gloo/crds/gloo.solo.io_v1_Proxy.yaml b/install/helm/gloo/crds/gloo.solo.io_v1_Proxy.yaml deleted file mode 100644 index 31e53ff5801..00000000000 --- a/install/helm/gloo/crds/gloo.solo.io_v1_Proxy.yaml +++ /dev/null @@ -1,597 +0,0 @@ -# CRD validation schema generated by solo-kit. DO NOT EDIT. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - creationTimestamp: null - name: proxies.gloo.solo.io -spec: - group: gloo.solo.io - names: - categories: - - gloo-gateway - kind: Proxy - listKind: ProxyList - plural: proxies - shortNames: - - px - - gpx - singular: proxy - scope: Namespaced - versions: - - name: v1 - schema: - openAPIV3Schema: - properties: - spec: - properties: - compressedSpec: - type: string - listeners: - items: - properties: - aggregateListener: - type: object - x-kubernetes-preserve-unknown-fields: true - bindAddress: - type: string - bindPort: - maximum: 4294967295 - minimum: 0 - type: integer - httpListener: - type: object - x-kubernetes-preserve-unknown-fields: true - hybridListener: - type: object - x-kubernetes-preserve-unknown-fields: true - metadata: - type: object - x-kubernetes-preserve-unknown-fields: true - metadataStatic: - properties: - sources: - items: - properties: - observedGeneration: - format: int64 - type: integer - x-kubernetes-int-or-string: true - resourceKind: - type: string - resourceRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: array - type: object - name: - type: string - options: - properties: - accessLoggingService: - properties: - accessLog: - items: - properties: - fileSink: - properties: - jsonFormat: - type: object - x-kubernetes-preserve-unknown-fields: true - path: - type: string - stringFormat: - type: string - type: object - filter: - properties: - andFilter: - type: object - x-kubernetes-preserve-unknown-fields: true - durationFilter: - properties: - comparison: - properties: - op: - type: string - x-kubernetes-int-or-string: true - value: - properties: - defaultValue: - maximum: 4294967295 - minimum: 0 - type: integer - runtimeKey: - type: string - type: object - type: object - type: object - grpcStatusFilter: - properties: - exclude: - type: boolean - statuses: - items: - type: string - x-kubernetes-int-or-string: true - type: array - type: object - headerFilter: - properties: - header: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - safeRegexMatch: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffixMatch: - type: string - type: object - type: object - notHealthCheckFilter: - type: object - orFilter: - type: object - x-kubernetes-preserve-unknown-fields: true - responseFlagFilter: - properties: - flags: - items: - type: string - type: array - type: object - runtimeFilter: - properties: - percentSampled: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - useIndependentRandomness: - type: boolean - type: object - statusCodeFilter: - properties: - comparison: - properties: - op: - type: string - x-kubernetes-int-or-string: true - value: - properties: - defaultValue: - maximum: 4294967295 - minimum: 0 - type: integer - runtimeKey: - type: string - type: object - type: object - type: object - traceableFilter: - type: object - type: object - grpcService: - properties: - additionalRequestHeadersToLog: - items: - type: string - type: array - additionalResponseHeadersToLog: - items: - type: string - type: array - additionalResponseTrailersToLog: - items: - type: string - type: array - logName: - type: string - staticClusterName: - type: string - type: object - type: object - type: array - type: object - connectionBalanceConfig: - properties: - exactBalance: - type: object - type: object - extensions: - properties: - configs: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - listenerAccessLoggingService: - properties: - accessLog: - items: - properties: - fileSink: - properties: - jsonFormat: - type: object - x-kubernetes-preserve-unknown-fields: true - path: - type: string - stringFormat: - type: string - type: object - filter: - properties: - andFilter: - type: object - x-kubernetes-preserve-unknown-fields: true - durationFilter: - properties: - comparison: - properties: - op: - type: string - x-kubernetes-int-or-string: true - value: - properties: - defaultValue: - maximum: 4294967295 - minimum: 0 - type: integer - runtimeKey: - type: string - type: object - type: object - type: object - grpcStatusFilter: - properties: - exclude: - type: boolean - statuses: - items: - type: string - x-kubernetes-int-or-string: true - type: array - type: object - headerFilter: - properties: - header: - properties: - exactMatch: - type: string - invertMatch: - type: boolean - name: - type: string - prefixMatch: - type: string - presentMatch: - type: boolean - rangeMatch: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - safeRegexMatch: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffixMatch: - type: string - type: object - type: object - notHealthCheckFilter: - type: object - orFilter: - type: object - x-kubernetes-preserve-unknown-fields: true - responseFlagFilter: - properties: - flags: - items: - type: string - type: array - type: object - runtimeFilter: - properties: - percentSampled: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - useIndependentRandomness: - type: boolean - type: object - statusCodeFilter: - properties: - comparison: - properties: - op: - type: string - x-kubernetes-int-or-string: true - value: - properties: - defaultValue: - maximum: 4294967295 - minimum: 0 - type: integer - runtimeKey: - type: string - type: object - type: object - type: object - traceableFilter: - type: object - type: object - grpcService: - properties: - additionalRequestHeadersToLog: - items: - type: string - type: array - additionalResponseHeadersToLog: - items: - type: string - type: array - additionalResponseTrailersToLog: - items: - type: string - type: array - logName: - type: string - staticClusterName: - type: string - type: object - type: object - type: array - type: object - perConnectionBufferLimitBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - proxyProtocol: - properties: - allowRequestsWithoutProxyProtocol: - type: boolean - rules: - items: - properties: - onTlvPresent: - properties: - key: - type: string - metadataNamespace: - type: string - type: object - tlvType: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: array - type: object - socketOptions: - items: - properties: - bufValue: - format: byte - type: string - description: - type: string - intValue: - format: int64 - type: integer - x-kubernetes-int-or-string: true - level: - format: int64 - type: integer - x-kubernetes-int-or-string: true - name: - format: int64 - type: integer - x-kubernetes-int-or-string: true - state: - type: string - x-kubernetes-int-or-string: true - type: object - type: array - tcpStats: - nullable: true - type: boolean - type: object - routeOptions: - properties: - maxDirectResponseBodySizeBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - mostSpecificHeaderMutationsWins: - nullable: true - type: boolean - type: object - sslConfigurations: - items: - properties: - alpnProtocols: - items: - type: string - type: array - disableTlsSessionResumption: - nullable: true - type: boolean - ocspStaplePolicy: - type: string - x-kubernetes-int-or-string: true - oneWayTls: - nullable: true - type: boolean - parameters: - properties: - cipherSuites: - items: - type: string - type: array - ecdhCurves: - items: - type: string - type: array - maximumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - minimumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - type: object - sds: - properties: - callCredentials: - properties: - fileCredentialSource: - properties: - header: - type: string - tokenFileName: - type: string - type: object - type: object - certificatesSecretName: - type: string - clusterName: - type: string - targetUri: - type: string - validationContextName: - type: string - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - sniDomains: - items: - type: string - type: array - sslFiles: - properties: - ocspStaple: - type: string - rootCa: - type: string - tlsCert: - type: string - tlsKey: - type: string - type: object - transportSocketConnectTimeout: - type: string - verifySubjectAltName: - items: - type: string - type: array - type: object - type: array - tcpListener: - type: object - x-kubernetes-preserve-unknown-fields: true - useProxyProto: - nullable: true - type: boolean - type: object - type: array - namespacedStatuses: - properties: - statuses: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - type: object - status: - default: {} - properties: - statuses: - default: {} - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/install/helm/gloo/crds/gloo.solo.io_v1_Settings.yaml b/install/helm/gloo/crds/gloo.solo.io_v1_Settings.yaml deleted file mode 100644 index 9ccee93e6f1..00000000000 --- a/install/helm/gloo/crds/gloo.solo.io_v1_Settings.yaml +++ /dev/null @@ -1,1106 +0,0 @@ -# CRD validation schema generated by solo-kit. DO NOT EDIT. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - creationTimestamp: null - labels: - gloo: settings - name: settings.gloo.solo.io -spec: - group: gloo.solo.io - names: - categories: - - gloo-gateway - kind: Settings - listKind: SettingsList - plural: settings - shortNames: - - st - - gst - scope: Namespaced - versions: - - name: v1 - schema: - openAPIV3Schema: - properties: - spec: - properties: - cachingServer: - properties: - allowedVaryHeaders: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - cachingServiceRef: - properties: - name: - type: string - namespace: - type: string - type: object - maxPayloadSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - timeout: - type: string - type: object - consoleOptions: - properties: - apiExplorerEnabled: - nullable: true - type: boolean - readOnly: - nullable: true - type: boolean - type: object - consul: - properties: - address: - type: string - caFile: - type: string - caPath: - type: string - certFile: - type: string - datacenter: - type: string - dnsAddress: - type: string - dnsPollingInterval: - type: string - httpAddress: - type: string - insecureSkipVerify: - nullable: true - type: boolean - keyFile: - type: string - password: - type: string - serviceDiscovery: - properties: - dataCenters: - items: - type: string - type: array - type: object - token: - type: string - username: - type: string - waitTime: - type: string - type: object - consulDiscovery: - properties: - consistencyMode: - type: string - x-kubernetes-int-or-string: true - edsBlockingQueries: - nullable: true - type: boolean - queryOptions: - properties: - useCache: - nullable: true - type: boolean - type: object - rootCa: - properties: - name: - type: string - namespace: - type: string - type: object - serviceTagsAllowlist: - items: - type: string - type: array - splitTlsServices: - type: boolean - tlsTagName: - type: string - useTlsTagging: - type: boolean - type: object - consulKvArtifactSource: - properties: - rootKey: - type: string - type: object - consulKvSource: - properties: - rootKey: - type: string - type: object - devMode: - type: boolean - directoryArtifactSource: - properties: - directory: - type: string - type: object - directoryConfigSource: - properties: - directory: - type: string - type: object - directorySecretSource: - properties: - directory: - type: string - type: object - discovery: - properties: - fdsMode: - type: string - x-kubernetes-int-or-string: true - fdsOptions: - properties: - graphqlEnabled: - nullable: true - type: boolean - type: object - udsOptions: - properties: - enabled: - nullable: true - type: boolean - watchLabels: - additionalProperties: - type: string - type: object - type: object - type: object - discoveryNamespace: - type: string - extProc: - properties: - allowModeOverride: - nullable: true - type: boolean - asyncMode: - nullable: true - type: boolean - disableClearRouteCache: - nullable: true - type: boolean - failureModeAllow: - nullable: true - type: boolean - filterMetadata: - type: object - x-kubernetes-preserve-unknown-fields: true - filterStage: - properties: - predicate: - type: string - x-kubernetes-int-or-string: true - stage: - type: string - x-kubernetes-int-or-string: true - type: object - forwardRules: - properties: - allowedHeaders: - properties: - patterns: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - type: object - disallowedHeaders: - properties: - patterns: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - type: object - type: object - grpcService: - properties: - authority: - nullable: true - type: string - extProcServerRef: - properties: - name: - type: string - namespace: - type: string - type: object - initialMetadata: - items: - properties: - key: - type: string - value: - type: string - type: object - type: array - retryPolicy: - properties: - numRetries: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - retryBackOff: - properties: - baseInterval: - type: string - maxInterval: - type: string - type: object - type: object - timeout: - type: string - type: object - maxMessageTimeout: - type: string - messageTimeout: - type: string - metadataContextNamespaces: - items: - type: string - type: array - mutationRules: - properties: - allowAllRouting: - nullable: true - type: boolean - allowEnvoy: - nullable: true - type: boolean - allowExpression: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - disallowAll: - nullable: true - type: boolean - disallowExpression: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - disallowIsError: - nullable: true - type: boolean - disallowSystem: - nullable: true - type: boolean - type: object - processingMode: - properties: - requestBodyMode: - type: string - x-kubernetes-int-or-string: true - requestHeaderMode: - type: string - x-kubernetes-int-or-string: true - requestTrailerMode: - type: string - x-kubernetes-int-or-string: true - responseBodyMode: - type: string - x-kubernetes-int-or-string: true - responseHeaderMode: - type: string - x-kubernetes-int-or-string: true - responseTrailerMode: - type: string - x-kubernetes-int-or-string: true - type: object - requestAttributes: - items: - type: string - type: array - responseAttributes: - items: - type: string - type: array - statPrefix: - nullable: true - type: string - typedMetadataContextNamespaces: - items: - type: string - type: array - type: object - extauth: - properties: - clearRouteCache: - type: boolean - extauthzServerRef: - properties: - name: - type: string - namespace: - type: string - type: object - failureModeAllow: - type: boolean - grpcService: - properties: - authority: - type: string - type: object - httpService: - properties: - pathPrefix: - type: string - request: - properties: - allowedHeaders: - items: - type: string - type: array - allowedHeadersRegex: - items: - type: string - type: array - headersToAdd: - additionalProperties: - type: string - type: object - type: object - response: - properties: - allowedClientHeaders: - items: - type: string - type: array - allowedUpstreamHeaders: - items: - type: string - type: array - allowedUpstreamHeadersToAppend: - items: - type: string - type: array - type: object - type: object - requestBody: - properties: - allowPartialMessage: - type: boolean - maxRequestBytes: - maximum: 4294967295 - minimum: 0 - type: integer - packAsBytes: - type: boolean - type: object - requestTimeout: - type: string - statPrefix: - type: string - statusOnError: - maximum: 4294967295 - minimum: 0 - type: integer - transportApiVersion: - type: string - x-kubernetes-int-or-string: true - userIdHeader: - type: string - type: object - extensions: - properties: - configs: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - gateway: - properties: - alwaysSortRouteTableRoutes: - type: boolean - compressedProxySpec: - type: boolean - enableGatewayController: - nullable: true - type: boolean - isolateVirtualHostsBySslConfig: - nullable: true - type: boolean - persistProxySpec: - nullable: true - type: boolean - readGatewaysFromAllNamespaces: - type: boolean - translateEmptyGateways: - nullable: true - type: boolean - validation: - properties: - allowWarnings: - nullable: true - type: boolean - alwaysAccept: - nullable: true - type: boolean - disableTransformationValidation: - nullable: true - type: boolean - fullEnvoyValidation: - nullable: true - type: boolean - ignoreGlooValidationFailure: - type: boolean - proxyValidationServerAddr: - type: string - serverEnabled: - nullable: true - type: boolean - validationServerGrpcMaxSizeBytes: - maximum: 2147483647 - minimum: -2147483648 - nullable: true - type: integer - validationWebhookTlsCert: - type: string - validationWebhookTlsKey: - type: string - warnMissingTlsSecret: - nullable: true - type: boolean - warnRouteShortCircuiting: - nullable: true - type: boolean - type: object - validationServerAddr: - type: string - virtualServiceOptions: - properties: - oneWayTls: - nullable: true - type: boolean - type: object - type: object - gloo: - properties: - awsOptions: - properties: - credentialRefreshDelay: - type: string - enableCredentialsDiscovey: - type: boolean - fallbackToFirstFunction: - nullable: true - type: boolean - propagateOriginalRouting: - nullable: true - type: boolean - serviceAccountCredentials: - properties: - cluster: - type: string - region: - type: string - timeout: - type: string - uri: - type: string - type: object - type: object - circuitBreakers: - properties: - maxConnections: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxPendingRequests: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxRequests: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxRetries: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - disableGrpcWeb: - nullable: true - type: boolean - disableKubernetesDestinations: - type: boolean - disableProxyGarbageCollection: - nullable: true - type: boolean - enableRestEds: - nullable: true - type: boolean - endpointsWarmingTimeout: - type: string - failoverUpstreamDnsPollingInterval: - type: string - invalidConfigPolicy: - properties: - invalidRouteResponseBody: - type: string - invalidRouteResponseCode: - maximum: 4294967295 - minimum: 0 - type: integer - replaceInvalidRoutes: - type: boolean - type: object - istioOptions: - properties: - appendXForwardedHost: - nullable: true - type: boolean - enableAutoMtls: - nullable: true - type: boolean - enableIntegration: - nullable: true - type: boolean - type: object - logTransformationRequestResponseInfo: - nullable: true - type: boolean - proxyDebugBindAddr: - type: string - regexMaxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - removeUnusedFilters: - nullable: true - type: boolean - restXdsBindAddr: - type: string - transformationEscapeCharacters: - nullable: true - type: boolean - validationBindAddr: - type: string - xdsBindAddr: - type: string - type: object - graphqlOptions: - properties: - schemaChangeValidationOptions: - properties: - processingRules: - items: - type: string - x-kubernetes-int-or-string: true - type: array - rejectBreakingChanges: - nullable: true - type: boolean - type: object - type: object - knative: - properties: - clusterIngressProxyAddress: - type: string - knativeExternalProxyAddress: - type: string - knativeInternalProxyAddress: - type: string - type: object - kubernetes: - properties: - rateLimits: - properties: - QPS: - type: number - burst: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - kubernetesArtifactSource: - type: object - kubernetesConfigSource: - type: object - kubernetesSecretSource: - type: object - linkerd: - type: boolean - namedExtauth: - additionalProperties: - properties: - clearRouteCache: - type: boolean - extauthzServerRef: - properties: - name: - type: string - namespace: - type: string - type: object - failureModeAllow: - type: boolean - grpcService: - properties: - authority: - type: string - type: object - httpService: - properties: - pathPrefix: - type: string - request: - properties: - allowedHeaders: - items: - type: string - type: array - allowedHeadersRegex: - items: - type: string - type: array - headersToAdd: - additionalProperties: - type: string - type: object - type: object - response: - properties: - allowedClientHeaders: - items: - type: string - type: array - allowedUpstreamHeaders: - items: - type: string - type: array - allowedUpstreamHeadersToAppend: - items: - type: string - type: array - type: object - type: object - requestBody: - properties: - allowPartialMessage: - type: boolean - maxRequestBytes: - maximum: 4294967295 - minimum: 0 - type: integer - packAsBytes: - type: boolean - type: object - requestTimeout: - type: string - statPrefix: - type: string - statusOnError: - maximum: 4294967295 - minimum: 0 - type: integer - transportApiVersion: - type: string - x-kubernetes-int-or-string: true - userIdHeader: - type: string - type: object - type: object - namespacedStatuses: - properties: - statuses: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - observabilityOptions: - properties: - configStatusMetricLabels: - additionalProperties: - properties: - labelToPath: - additionalProperties: - type: string - type: object - type: object - type: object - grafanaIntegration: - properties: - dashboardPrefix: - type: string - defaultDashboardFolderId: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - extraMetricQueryParameters: - type: string - type: object - type: object - ratelimit: - properties: - descriptors: - items: - type: object - x-kubernetes-preserve-unknown-fields: true - type: array - setDescriptors: - items: - properties: - alwaysApply: - type: boolean - rateLimit: - properties: - requestsPerUnit: - maximum: 4294967295 - minimum: 0 - type: integer - unit: - type: string - x-kubernetes-int-or-string: true - type: object - simpleDescriptors: - items: - properties: - key: - type: string - value: - type: string - type: object - type: array - type: object - type: array - type: object - ratelimitServer: - properties: - denyOnFail: - type: boolean - enableXRatelimitHeaders: - type: boolean - grpcService: - properties: - authority: - type: string - type: object - rateLimitBeforeAuth: - type: boolean - ratelimitServerRef: - properties: - name: - type: string - namespace: - type: string - type: object - requestTimeout: - type: string - type: object - rbac: - properties: - requireRbac: - type: boolean - type: object - refreshRate: - type: string - secretOptions: - properties: - sources: - items: - properties: - directory: - properties: - directory: - type: string - type: object - kubernetes: - type: object - vault: - properties: - accessToken: - type: string - address: - type: string - aws: - properties: - accessKeyId: - type: string - iamServerIdHeader: - type: string - leaseIncrement: - format: int32 - type: integer - mountPath: - type: string - region: - type: string - secretAccessKey: - type: string - sessionToken: - type: string - vaultRole: - type: string - type: object - caCert: - type: string - caPath: - type: string - clientCert: - type: string - clientKey: - type: string - insecure: - nullable: true - type: boolean - pathPrefix: - type: string - rootKey: - type: string - tlsConfig: - properties: - caCert: - type: string - caPath: - type: string - clientCert: - type: string - clientKey: - type: string - insecure: - nullable: true - type: boolean - tlsServerName: - type: string - type: object - tlsServerName: - type: string - token: - type: string - type: object - type: object - type: array - type: object - upstreamOptions: - properties: - globalAnnotations: - additionalProperties: - type: string - type: object - sslParameters: - properties: - cipherSuites: - items: - type: string - type: array - ecdhCurves: - items: - type: string - type: array - maximumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - minimumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - type: object - type: object - vaultSecretSource: - properties: - accessToken: - type: string - address: - type: string - aws: - properties: - accessKeyId: - type: string - iamServerIdHeader: - type: string - leaseIncrement: - format: int32 - type: integer - mountPath: - type: string - region: - type: string - secretAccessKey: - type: string - sessionToken: - type: string - vaultRole: - type: string - type: object - caCert: - type: string - caPath: - type: string - clientCert: - type: string - clientKey: - type: string - insecure: - nullable: true - type: boolean - pathPrefix: - type: string - rootKey: - type: string - tlsConfig: - properties: - caCert: - type: string - caPath: - type: string - clientCert: - type: string - clientKey: - type: string - insecure: - nullable: true - type: boolean - tlsServerName: - type: string - type: object - tlsServerName: - type: string - token: - type: string - type: object - watchNamespaceSelectors: - items: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - type: array - watchNamespaces: - items: - type: string - type: array - type: object - status: - default: {} - properties: - statuses: - default: {} - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/install/helm/gloo/crds/gloo.solo.io_v1_Upstream.yaml b/install/helm/gloo/crds/gloo.solo.io_v1_Upstream.yaml deleted file mode 100644 index ffd39e418ff..00000000000 --- a/install/helm/gloo/crds/gloo.solo.io_v1_Upstream.yaml +++ /dev/null @@ -1,2150 +0,0 @@ -# CRD validation schema generated by solo-kit. DO NOT EDIT. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - creationTimestamp: null - name: upstreams.gloo.solo.io -spec: - group: gloo.solo.io - names: - categories: - - gloo-gateway - kind: Upstream - listKind: UpstreamList - plural: upstreams - shortNames: - - us - - gus - singular: upstream - scope: Namespaced - versions: - - name: v1 - schema: - openAPIV3Schema: - properties: - spec: - properties: - ai: - properties: - anthropic: - properties: - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - customHost: - properties: - host: - type: string - port: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - model: - type: string - version: - type: string - type: object - azureOpenai: - properties: - apiVersion: - type: string - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - deploymentName: - type: string - endpoint: - type: string - type: object - gemini: - properties: - apiVersion: - type: string - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - model: - type: string - type: object - mistral: - properties: - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - customHost: - properties: - host: - type: string - port: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - model: - type: string - type: object - multi: - properties: - priorities: - items: - properties: - pool: - items: - properties: - anthropic: - properties: - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - customHost: - properties: - host: - type: string - port: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - model: - type: string - version: - type: string - type: object - azureOpenai: - properties: - apiVersion: - type: string - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - deploymentName: - type: string - endpoint: - type: string - type: object - gemini: - properties: - apiVersion: - type: string - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - model: - type: string - type: object - mistral: - properties: - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - customHost: - properties: - host: - type: string - port: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - model: - type: string - type: object - openai: - properties: - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - customHost: - properties: - host: - type: string - port: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - model: - type: string - type: object - vertexAi: - properties: - apiVersion: - type: string - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - location: - type: string - model: - type: string - modelPath: - type: string - projectId: - type: string - publisher: - type: string - x-kubernetes-int-or-string: true - type: object - type: object - type: array - type: object - type: array - type: object - openai: - properties: - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - customHost: - properties: - host: - type: string - port: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - model: - type: string - type: object - vertexAi: - properties: - apiVersion: - type: string - authToken: - properties: - inline: - type: string - passthrough: - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - location: - type: string - model: - type: string - modelPath: - type: string - projectId: - type: string - publisher: - type: string - x-kubernetes-int-or-string: true - type: object - type: object - aws: - properties: - awsAccountId: - type: string - destinationOverrides: - properties: - invocationStyle: - type: string - x-kubernetes-int-or-string: true - logicalName: - type: string - requestTransformation: - type: boolean - responseTransformation: - type: boolean - unwrapAsAlb: - type: boolean - unwrapAsApiGateway: - type: boolean - wrapAsApiGateway: - type: boolean - type: object - disableRoleChaining: - type: boolean - lambdaFunctions: - items: - properties: - lambdaFunctionName: - type: string - logicalName: - type: string - qualifier: - type: string - type: object - type: array - region: - type: string - roleArn: - type: string - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - awsEc2: - properties: - filters: - items: - properties: - key: - type: string - kvPair: - properties: - key: - type: string - value: - type: string - type: object - type: object - type: array - port: - maximum: 4294967295 - minimum: 0 - type: integer - publicIp: - type: boolean - region: - type: string - roleArn: - type: string - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - azure: - properties: - functionAppName: - type: string - functions: - items: - properties: - authLevel: - type: string - x-kubernetes-int-or-string: true - functionName: - type: string - type: object - type: array - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - circuitBreakers: - properties: - maxConnections: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxPendingRequests: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxRequests: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - maxRetries: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - connectionConfig: - properties: - commonHttpProtocolOptions: - properties: - headersWithUnderscoresAction: - type: string - x-kubernetes-int-or-string: true - idleTimeout: - type: string - maxHeadersCount: - maximum: 4294967295 - minimum: 0 - type: integer - maxStreamDuration: - type: string - type: object - connectTimeout: - type: string - http1ProtocolOptions: - properties: - enableTrailers: - type: boolean - overrideStreamErrorOnInvalidHttpMessage: - nullable: true - type: boolean - preserveCaseHeaderKeyFormat: - type: boolean - properCaseHeaderKeyFormat: - type: boolean - type: object - maxRequestsPerConnection: - maximum: 4294967295 - minimum: 0 - type: integer - perConnectionBufferLimitBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - tcpKeepalive: - properties: - keepaliveInterval: - type: string - keepaliveProbes: - maximum: 4294967295 - minimum: 0 - type: integer - keepaliveTime: - type: string - type: object - type: object - consul: - properties: - connectEnabled: - type: boolean - consistencyMode: - type: string - x-kubernetes-int-or-string: true - dataCenters: - items: - type: string - type: array - instanceBlacklistTags: - items: - type: string - type: array - instanceTags: - items: - type: string - type: array - queryOptions: - properties: - useCache: - nullable: true - type: boolean - type: object - serviceName: - type: string - serviceSpec: - properties: - graphql: - properties: - endpoint: - properties: - url: - type: string - type: object - type: object - grpc: - properties: - descriptors: - format: byte - type: string - grpcServices: - items: - properties: - functionNames: - items: - type: string - type: array - packageName: - type: string - serviceName: - type: string - type: object - type: array - type: object - grpcJsonTranscoder: - properties: - autoMapping: - type: boolean - convertGrpcStatus: - type: boolean - ignoreUnknownQueryParameters: - type: boolean - ignoredQueryParameters: - items: - type: string - type: array - matchIncomingRequestRoute: - type: boolean - printOptions: - properties: - addWhitespace: - type: boolean - alwaysPrintEnumsAsInts: - type: boolean - alwaysPrintPrimitiveFields: - type: boolean - preserveProtoFieldNames: - type: boolean - type: object - protoDescriptor: - type: string - protoDescriptorBin: - format: byte - type: string - protoDescriptorConfigMap: - properties: - configMapRef: - properties: - name: - type: string - namespace: - type: string - type: object - key: - type: string - type: object - services: - items: - type: string - type: array - type: object - rest: - properties: - swaggerInfo: - properties: - inline: - type: string - url: - type: string - type: object - transformations: - additionalProperties: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - type: object - type: object - type: object - serviceTags: - items: - type: string - type: array - subsetTags: - items: - type: string - type: array - type: object - disableIstioAutoMtls: - nullable: true - type: boolean - discoveryMetadata: - properties: - labels: - additionalProperties: - type: string - type: object - type: object - dnsRefreshRate: - type: string - failover: - properties: - policy: - properties: - overprovisioningFactor: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - prioritizedLocalities: - items: - properties: - localityEndpoints: - items: - properties: - lbEndpoints: - items: - properties: - address: - type: string - healthCheckConfig: - properties: - hostname: - type: string - method: - type: string - path: - type: string - portValue: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - loadBalancingWeight: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - metadata: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - port: - maximum: 4294967295 - minimum: 0 - type: integer - upstreamSslConfig: - properties: - allowRenegotiation: - nullable: true - type: boolean - alpnProtocols: - items: - type: string - type: array - oneWayTls: - nullable: true - type: boolean - parameters: - properties: - cipherSuites: - items: - type: string - type: array - ecdhCurves: - items: - type: string - type: array - maximumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - minimumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - type: object - sds: - properties: - callCredentials: - properties: - fileCredentialSource: - properties: - header: - type: string - tokenFileName: - type: string - type: object - type: object - certificatesSecretName: - type: string - clusterName: - type: string - targetUri: - type: string - validationContextName: - type: string - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - sni: - type: string - sslFiles: - properties: - ocspStaple: - type: string - rootCa: - type: string - tlsCert: - type: string - tlsKey: - type: string - type: object - verifySubjectAltName: - items: - type: string - type: array - type: object - type: object - type: array - loadBalancingWeight: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - locality: - properties: - region: - type: string - subZone: - type: string - zone: - type: string - type: object - type: object - type: array - type: object - type: array - type: object - gcp: - properties: - audience: - type: string - host: - type: string - type: object - healthChecks: - items: - properties: - alwaysLogHealthCheckFailures: - type: boolean - customHealthCheck: - properties: - config: - type: object - x-kubernetes-preserve-unknown-fields: true - name: - type: string - typedConfig: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - eventLogPath: - type: string - grpcHealthCheck: - properties: - authority: - type: string - initialMetadata: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - headerSecretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: array - serviceName: - type: string - type: object - healthyEdgeInterval: - type: string - healthyThreshold: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - httpHealthCheck: - properties: - expectedStatuses: - items: - properties: - end: - format: int64 - type: integer - x-kubernetes-int-or-string: true - start: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - type: array - host: - type: string - method: - type: string - x-kubernetes-int-or-string: true - path: - type: string - requestHeadersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - headerSecretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: array - requestHeadersToRemove: - items: - type: string - type: array - responseAssertions: - properties: - noMatchHealth: - type: string - x-kubernetes-int-or-string: true - responseMatchers: - items: - properties: - matchHealth: - type: string - x-kubernetes-int-or-string: true - responseMatch: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - ignoreErrorOnParse: - type: boolean - jsonKey: - properties: - path: - items: - properties: - key: - type: string - type: object - type: array - type: object - regex: - type: string - type: object - type: object - type: array - type: object - serviceName: - type: string - useHttp2: - type: boolean - type: object - initialJitter: - type: string - interval: - type: string - intervalJitter: - type: string - intervalJitterPercent: - maximum: 4294967295 - minimum: 0 - type: integer - noTrafficInterval: - type: string - reuseConnection: - nullable: true - type: boolean - tcpHealthCheck: - properties: - receive: - items: - properties: - text: - type: string - type: object - type: array - send: - properties: - text: - type: string - type: object - type: object - timeout: - type: string - unhealthyEdgeInterval: - type: string - unhealthyInterval: - type: string - unhealthyThreshold: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - type: array - httpConnectHeaders: - items: - properties: - key: - type: string - value: - type: string - type: object - type: array - httpConnectSslConfig: - properties: - allowRenegotiation: - nullable: true - type: boolean - alpnProtocols: - items: - type: string - type: array - oneWayTls: - nullable: true - type: boolean - parameters: - properties: - cipherSuites: - items: - type: string - type: array - ecdhCurves: - items: - type: string - type: array - maximumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - minimumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - type: object - sds: - properties: - callCredentials: - properties: - fileCredentialSource: - properties: - header: - type: string - tokenFileName: - type: string - type: object - type: object - certificatesSecretName: - type: string - clusterName: - type: string - targetUri: - type: string - validationContextName: - type: string - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - sni: - type: string - sslFiles: - properties: - ocspStaple: - type: string - rootCa: - type: string - tlsCert: - type: string - tlsKey: - type: string - type: object - verifySubjectAltName: - items: - type: string - type: array - type: object - httpProxyHostname: - nullable: true - type: string - ignoreHealthOnHostRemoval: - nullable: true - type: boolean - initialConnectionWindowSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - initialStreamWindowSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - kube: - properties: - selector: - additionalProperties: - type: string - type: object - serviceName: - type: string - serviceNamespace: - type: string - servicePort: - maximum: 4294967295 - minimum: 0 - type: integer - serviceSpec: - properties: - graphql: - properties: - endpoint: - properties: - url: - type: string - type: object - type: object - grpc: - properties: - descriptors: - format: byte - type: string - grpcServices: - items: - properties: - functionNames: - items: - type: string - type: array - packageName: - type: string - serviceName: - type: string - type: object - type: array - type: object - grpcJsonTranscoder: - properties: - autoMapping: - type: boolean - convertGrpcStatus: - type: boolean - ignoreUnknownQueryParameters: - type: boolean - ignoredQueryParameters: - items: - type: string - type: array - matchIncomingRequestRoute: - type: boolean - printOptions: - properties: - addWhitespace: - type: boolean - alwaysPrintEnumsAsInts: - type: boolean - alwaysPrintPrimitiveFields: - type: boolean - preserveProtoFieldNames: - type: boolean - type: object - protoDescriptor: - type: string - protoDescriptorBin: - format: byte - type: string - protoDescriptorConfigMap: - properties: - configMapRef: - properties: - name: - type: string - namespace: - type: string - type: object - key: - type: string - type: object - services: - items: - type: string - type: array - type: object - rest: - properties: - swaggerInfo: - properties: - inline: - type: string - url: - type: string - type: object - transformations: - additionalProperties: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - type: object - type: object - type: object - subsetSpec: - properties: - defaultSubset: - properties: - values: - additionalProperties: - type: string - type: object - type: object - fallbackPolicy: - type: string - x-kubernetes-int-or-string: true - selectors: - items: - properties: - keys: - items: - type: string - type: array - singleHostPerSubset: - type: boolean - type: object - type: array - type: object - type: object - loadBalancerConfig: - properties: - closeConnectionsOnHostSetChange: - type: boolean - healthyPanicThreshold: - nullable: true - type: number - leastRequest: - properties: - choiceCount: - maximum: 4294967295 - minimum: 0 - type: integer - slowStartConfig: - properties: - aggression: - nullable: true - type: number - minWeightPercent: - nullable: true - type: number - slowStartWindow: - type: string - type: object - type: object - localityWeightedLbConfig: - maxProperties: 0 - type: object - maglev: - type: object - random: - type: object - ringHash: - properties: - ringHashConfig: - properties: - maximumRingSize: - format: int64 - type: integer - x-kubernetes-int-or-string: true - minimumRingSize: - format: int64 - type: integer - x-kubernetes-int-or-string: true - type: object - type: object - roundRobin: - properties: - slowStartConfig: - properties: - aggression: - nullable: true - type: number - minWeightPercent: - nullable: true - type: number - slowStartWindow: - type: string - type: object - type: object - updateMergeWindow: - type: string - useHostnameForHashing: - nullable: true - type: boolean - type: object - maxConcurrentStreams: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - namespacedStatuses: - properties: - statuses: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - outlierDetection: - properties: - baseEjectionTime: - type: string - consecutive5xx: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - consecutiveGatewayFailure: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - consecutiveLocalOriginFailure: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - enforcingConsecutive5xx: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - enforcingConsecutiveGatewayFailure: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - enforcingConsecutiveLocalOriginFailure: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - enforcingLocalOriginSuccessRate: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - enforcingSuccessRate: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - interval: - type: string - maxEjectionPercent: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - splitExternalLocalOriginErrors: - type: boolean - successRateMinimumHosts: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - successRateRequestVolume: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - successRateStdevFactor: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - overrideStreamErrorOnInvalidHttpMessage: - nullable: true - type: boolean - pipe: - properties: - path: - type: string - serviceSpec: - properties: - graphql: - properties: - endpoint: - properties: - url: - type: string - type: object - type: object - grpc: - properties: - descriptors: - format: byte - type: string - grpcServices: - items: - properties: - functionNames: - items: - type: string - type: array - packageName: - type: string - serviceName: - type: string - type: object - type: array - type: object - grpcJsonTranscoder: - properties: - autoMapping: - type: boolean - convertGrpcStatus: - type: boolean - ignoreUnknownQueryParameters: - type: boolean - ignoredQueryParameters: - items: - type: string - type: array - matchIncomingRequestRoute: - type: boolean - printOptions: - properties: - addWhitespace: - type: boolean - alwaysPrintEnumsAsInts: - type: boolean - alwaysPrintPrimitiveFields: - type: boolean - preserveProtoFieldNames: - type: boolean - type: object - protoDescriptor: - type: string - protoDescriptorBin: - format: byte - type: string - protoDescriptorConfigMap: - properties: - configMapRef: - properties: - name: - type: string - namespace: - type: string - type: object - key: - type: string - type: object - services: - items: - type: string - type: array - type: object - rest: - properties: - swaggerInfo: - properties: - inline: - type: string - url: - type: string - type: object - transformations: - additionalProperties: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - type: object - type: object - type: object - type: object - preconnectPolicy: - properties: - perUpstreamPreconnectRatio: - nullable: true - type: number - predictivePreconnectRatio: - nullable: true - type: number - type: object - protocolSelection: - type: string - x-kubernetes-int-or-string: true - proxyProtocolVersion: - nullable: true - type: string - respectDnsTtl: - nullable: true - type: boolean - sslConfig: - properties: - allowRenegotiation: - nullable: true - type: boolean - alpnProtocols: - items: - type: string - type: array - oneWayTls: - nullable: true - type: boolean - parameters: - properties: - cipherSuites: - items: - type: string - type: array - ecdhCurves: - items: - type: string - type: array - maximumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - minimumProtocolVersion: - type: string - x-kubernetes-int-or-string: true - type: object - sds: - properties: - callCredentials: - properties: - fileCredentialSource: - properties: - header: - type: string - tokenFileName: - type: string - type: object - type: object - certificatesSecretName: - type: string - clusterName: - type: string - targetUri: - type: string - validationContextName: - type: string - type: object - secretRef: - properties: - name: - type: string - namespace: - type: string - type: object - sni: - type: string - sslFiles: - properties: - ocspStaple: - type: string - rootCa: - type: string - tlsCert: - type: string - tlsKey: - type: string - type: object - verifySubjectAltName: - items: - type: string - type: array - type: object - static: - properties: - autoSniRewrite: - nullable: true - type: boolean - hosts: - items: - properties: - addr: - type: string - healthCheckConfig: - properties: - method: - type: string - path: - type: string - type: object - loadBalancingWeight: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - metadata: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - port: - maximum: 4294967295 - minimum: 0 - type: integer - sniAddr: - type: string - type: object - type: array - serviceSpec: - properties: - graphql: - properties: - endpoint: - properties: - url: - type: string - type: object - type: object - grpc: - properties: - descriptors: - format: byte - type: string - grpcServices: - items: - properties: - functionNames: - items: - type: string - type: array - packageName: - type: string - serviceName: - type: string - type: object - type: array - type: object - grpcJsonTranscoder: - properties: - autoMapping: - type: boolean - convertGrpcStatus: - type: boolean - ignoreUnknownQueryParameters: - type: boolean - ignoredQueryParameters: - items: - type: string - type: array - matchIncomingRequestRoute: - type: boolean - printOptions: - properties: - addWhitespace: - type: boolean - alwaysPrintEnumsAsInts: - type: boolean - alwaysPrintPrimitiveFields: - type: boolean - preserveProtoFieldNames: - type: boolean - type: object - protoDescriptor: - type: string - protoDescriptorBin: - format: byte - type: string - protoDescriptorConfigMap: - properties: - configMapRef: - properties: - name: - type: string - namespace: - type: string - type: object - key: - type: string - type: object - services: - items: - type: string - type: array - type: object - rest: - properties: - swaggerInfo: - properties: - inline: - type: string - url: - type: string - type: object - transformations: - additionalProperties: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - type: object - type: object - type: object - useTls: - nullable: true - type: boolean - type: object - useHttp2: - nullable: true - type: boolean - type: object - status: - default: {} - properties: - statuses: - default: {} - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/install/helm/gloo/crds/gloo.solo.io_v1_UpstreamGroup.yaml b/install/helm/gloo/crds/gloo.solo.io_v1_UpstreamGroup.yaml deleted file mode 100644 index 82943d419aa..00000000000 --- a/install/helm/gloo/crds/gloo.solo.io_v1_UpstreamGroup.yaml +++ /dev/null @@ -1,2032 +0,0 @@ -# CRD validation schema generated by solo-kit. DO NOT EDIT. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - creationTimestamp: null - name: upstreamgroups.gloo.solo.io -spec: - group: gloo.solo.io - names: - categories: - - gloo-gateway - kind: UpstreamGroup - listKind: UpstreamGroupList - plural: upstreamgroups - shortNames: - - ug - - gug - singular: upstreamgroup - scope: Namespaced - versions: - - name: v1 - schema: - openAPIV3Schema: - properties: - spec: - properties: - destinations: - items: - properties: - destination: - properties: - consul: - properties: - dataCenters: - items: - type: string - type: array - serviceName: - type: string - tags: - items: - type: string - type: array - type: object - destinationSpec: - properties: - aws: - properties: - invocationStyle: - type: string - x-kubernetes-int-or-string: true - logicalName: - type: string - requestTransformation: - type: boolean - responseTransformation: - type: boolean - unwrapAsAlb: - type: boolean - unwrapAsApiGateway: - type: boolean - wrapAsApiGateway: - type: boolean - type: object - azure: - properties: - functionName: - type: string - type: object - grpc: - properties: - function: - type: string - package: - type: string - parameters: - properties: - headers: - additionalProperties: - type: string - type: object - path: - nullable: true - type: string - type: object - service: - type: string - type: object - rest: - properties: - functionName: - type: string - parameters: - properties: - headers: - additionalProperties: - type: string - type: object - path: - nullable: true - type: string - type: object - responseTransformation: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - type: object - type: object - kube: - properties: - port: - maximum: 4294967295 - minimum: 0 - type: integer - ref: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - subset: - properties: - values: - additionalProperties: - type: string - type: object - type: object - upstream: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - options: - properties: - bufferPerRoute: - properties: - buffer: - properties: - maxRequestBytes: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - disabled: - type: boolean - type: object - csrf: - properties: - additionalOrigins: - items: - properties: - exact: - type: string - ignoreCase: - type: boolean - prefix: - type: string - safeRegex: - properties: - googleRe2: - properties: - maxProgramSize: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - regex: - type: string - type: object - suffix: - type: string - type: object - type: array - filterEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - shadowEnabled: - properties: - defaultValue: - properties: - denominator: - type: string - x-kubernetes-int-or-string: true - numerator: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - runtimeKey: - type: string - type: object - type: object - extauth: - properties: - configRef: - properties: - name: - type: string - namespace: - type: string - type: object - customAuth: - properties: - contextExtensions: - additionalProperties: - type: string - type: object - name: - type: string - type: object - disable: - type: boolean - type: object - extensions: - properties: - configs: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - headerManipulation: - properties: - requestHeadersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - headerSecretRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: array - requestHeadersToRemove: - items: - type: string - type: array - responseHeadersToAdd: - items: - properties: - append: - nullable: true - type: boolean - header: - properties: - key: - type: string - value: - type: string - type: object - type: object - type: array - responseHeadersToRemove: - items: - type: string - type: array - type: object - stagedTransformations: - properties: - early: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - escapeCharacters: - nullable: true - type: boolean - inheritTransformation: - type: boolean - logRequestResponseInfo: - nullable: true - type: boolean - postRouting: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - regular: - properties: - requestTransforms: - items: - properties: - clearRouteCache: - type: boolean - matcher: - properties: - caseSensitive: - nullable: true - type: boolean - connectMatcher: - type: object - exact: - type: string - headers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - methods: - items: - type: string - type: array - prefix: - type: string - queryParameters: - items: - properties: - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - regex: - type: string - type: object - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - responseTransforms: - items: - properties: - matchers: - items: - properties: - invertMatch: - type: boolean - name: - type: string - regex: - type: boolean - value: - type: string - type: object - type: array - responseCodeDetails: - type: string - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: array - type: object - type: object - transformations: - properties: - clearRouteCache: - type: boolean - requestTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - responseTransformation: - properties: - headerBodyTransform: - properties: - addRequestMetadata: - type: boolean - type: object - logRequestResponseInfo: - type: boolean - transformationTemplate: - properties: - advancedTemplates: - type: boolean - body: - properties: - text: - type: string - type: object - dynamicMetadataValues: - items: - properties: - jsonToProto: - type: boolean - key: - type: string - metadataNamespace: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - escapeCharacters: - nullable: true - type: boolean - extractors: - additionalProperties: - properties: - body: - maxProperties: 0 - type: object - header: - type: string - mode: - type: string - x-kubernetes-int-or-string: true - regex: - type: string - replacementText: - nullable: true - type: string - subgroup: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - type: object - headers: - additionalProperties: - properties: - text: - type: string - type: object - type: object - headersToAppend: - items: - properties: - key: - type: string - value: - properties: - text: - type: string - type: object - type: object - type: array - headersToRemove: - items: - type: string - type: array - ignoreErrorOnParse: - type: boolean - mergeExtractorsToBody: - type: object - mergeJsonKeys: - properties: - jsonKeys: - additionalProperties: - properties: - overrideEmpty: - type: boolean - tmpl: - properties: - text: - type: string - type: object - type: object - type: object - type: object - parseBodyBehavior: - type: string - x-kubernetes-int-or-string: true - passthrough: - type: object - spanTransformer: - properties: - name: - properties: - text: - type: string - type: object - type: object - type: object - xsltTransformation: - properties: - nonXmlTransform: - type: boolean - setContentType: - type: string - xslt: - type: string - type: object - type: object - type: object - type: object - weight: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - type: array - namespacedStatuses: - properties: - statuses: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - type: object - status: - default: {} - properties: - statuses: - default: {} - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/install/helm/gloo/crds/graphql.gloo.solo.io_v1beta1_GraphQLApi.yaml b/install/helm/gloo/crds/graphql.gloo.solo.io_v1beta1_GraphQLApi.yaml deleted file mode 100644 index 8ca06486f88..00000000000 --- a/install/helm/gloo/crds/graphql.gloo.solo.io_v1beta1_GraphQLApi.yaml +++ /dev/null @@ -1,247 +0,0 @@ -# CRD validation schema generated by solo-kit. DO NOT EDIT. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - creationTimestamp: null - name: graphqlapis.graphql.gloo.solo.io -spec: - group: graphql.gloo.solo.io - names: - categories: - - solo-io - - gloo-gateway - kind: GraphQLApi - listKind: GraphQLApiList - plural: graphqlapis - shortNames: - - gql - - ggql - singular: graphqlapi - scope: Namespaced - versions: - - name: v1beta1 - schema: - openAPIV3Schema: - properties: - spec: - properties: - allowedQueryHashes: - items: - type: string - type: array - executableSchema: - properties: - executor: - properties: - local: - properties: - enableIntrospection: - type: boolean - options: - properties: - maxDepth: - maximum: 4294967295 - minimum: 0 - nullable: true - type: integer - type: object - resolutions: - additionalProperties: - properties: - grpcResolver: - properties: - requestTransform: - properties: - methodName: - type: string - outgoingMessageJson: - x-kubernetes-preserve-unknown-fields: true - requestMetadata: - additionalProperties: - type: string - type: object - serviceName: - type: string - type: object - spanName: - type: string - timeout: - type: string - upstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - mockResolver: - properties: - asyncResponse: - properties: - delay: - type: string - response: - x-kubernetes-preserve-unknown-fields: true - type: object - errorResponse: - type: string - syncResponse: - x-kubernetes-preserve-unknown-fields: true - type: object - restResolver: - properties: - request: - properties: - body: - x-kubernetes-preserve-unknown-fields: true - headers: - additionalProperties: - type: string - type: object - queryParams: - additionalProperties: - type: string - type: object - type: object - response: - properties: - resultRoot: - type: string - setters: - additionalProperties: - type: string - type: object - type: object - spanName: - type: string - timeout: - type: string - upstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - statPrefix: - nullable: true - type: string - type: object - type: object - type: object - remote: - properties: - headers: - additionalProperties: - type: string - type: object - queryParams: - additionalProperties: - type: string - type: object - spanName: - type: string - upstreamRef: - properties: - name: - type: string - namespace: - type: string - type: object - type: object - type: object - grpcDescriptorRegistry: - properties: - protoDescriptor: - type: string - protoDescriptorBin: - format: byte - type: string - protoRefsList: - properties: - configMapRefs: - items: - properties: - name: - type: string - namespace: - type: string - type: object - type: array - type: object - type: object - schemaDefinition: - type: string - type: object - namespacedStatuses: - properties: - statuses: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - options: - properties: - logSensitiveInfo: - type: boolean - type: object - persistedQueryCacheConfig: - properties: - cacheSize: - maximum: 4294967295 - minimum: 0 - type: integer - type: object - statPrefix: - nullable: true - type: string - stitchedSchema: - properties: - subschemas: - items: - properties: - name: - type: string - namespace: - type: string - typeMerge: - additionalProperties: - properties: - args: - additionalProperties: - type: string - type: object - queryName: - type: string - selectionSet: - type: string - type: object - type: object - type: object - type: array - type: object - type: object - status: - default: {} - properties: - statuses: - default: {} - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - served: true - storage: true - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: null - storedVersions: null diff --git a/install/helm/gloo/crds/ratelimit_config.yaml b/install/helm/gloo/crds/ratelimit_config.yaml deleted file mode 100644 index 4dccd93647c..00000000000 --- a/install/helm/gloo/crds/ratelimit_config.yaml +++ /dev/null @@ -1,28 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: ratelimitconfigs.ratelimit.solo.io -spec: - group: ratelimit.solo.io - names: - categories: - - solo-io - - gloo-gateway - kind: RateLimitConfig - listKind: RateLimitConfigList - plural: ratelimitconfigs - singular: ratelimitconfig - shortNames: - - rlc - - grlc - scope: Namespaced - versions: - - name: v1alpha1 - served: true - storage: true - subresources: - status: {} - schema: - openAPIV3Schema: - type: object - x-kubernetes-preserve-unknown-fields: true diff --git a/install/helm/gloo/files/rbac/role.yaml b/install/helm/gloo/files/rbac/role.yaml deleted file mode 100644 index 0dfbd689b29..00000000000 --- a/install/helm/gloo/files/rbac/role.yaml +++ /dev/null @@ -1,126 +0,0 @@ ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: k8sgw-controller -rules: -- apiGroups: - - "" - resources: - - configmaps - - secrets - - serviceaccounts - verbs: - - create - - delete - - get - - list - - patch - - watch -- apiGroups: - - "" - resources: - - endpoints - - namespaces - - nodes - - pods - verbs: - - get - - list - - watch -- apiGroups: - - "" - resources: - - services - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: - - get - - list - - watch -- apiGroups: - - apps - resources: - - deployments - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - discovery.k8s.io - resources: - - endpointslices - verbs: - - get - - list - - watch -- apiGroups: - - gateway.gloo.solo.io - resources: - - directresponses - - gatewayparameters - - httplistenerpolicies - - listenerpolicies - - routepolicies - - upstreams - verbs: - - get - - list - - watch -- apiGroups: - - gateway.gloo.solo.io - resources: - - directresponses/status - - gatewayparameters/status - - httplistenerpolicies/status - - listenerpolicies/status - - routepolicies/status - - upstreams/status - verbs: - - get - - patch - - update -- apiGroups: - - gateway.networking.k8s.io - resources: - - gatewayclasses - - gateways - - httproutes - - referencegrants - - tcproutes - verbs: - - get - - list - - watch -- apiGroups: - - gateway.networking.k8s.io - resources: - - gatewayclasses/status - - gateways/status - - httproutes/status - - tcproutes/status - verbs: - - patch - - update -- apiGroups: - - networking.istio.io - resources: - - destinationrules - verbs: - - get - - list - - watch diff --git a/install/helm/gloo/generate.go b/install/helm/gloo/generate.go deleted file mode 100644 index 60cfd3e1eb5..00000000000 --- a/install/helm/gloo/generate.go +++ /dev/null @@ -1,165 +0,0 @@ -package main - -import ( - "flag" - "os" - - "github.com/ghodss/yaml" - "github.com/kgateway-dev/kgateway/install/helm/gloo/generate" - errors "github.com/rotisserie/eris" - "github.com/solo-io/go-utils/log" -) - -var ( - valuesTemplate = "install/helm/gloo/values-template.yaml" - valuesOutput = "install/helm/gloo/values.yaml" - docsOutput = "docs/content/reference/values.txt" - chartTemplate = "install/helm/gloo/Chart-template.yaml" - chartOutput = "install/helm/gloo/Chart.yaml" - // Helm docs are generated during builds. Since version changes each build, substitute with descriptive text. - // Provide an example to clarify format (1.2.3, not v1.2.3). - helmDocsVersionText = "" - - flagOpts = defaultFlagOptions -) - -type flagOptions struct { - version string - // If set, will generate helm docs. Note that some helm values are parameterized within this script to help testing. - // When generating helm values for test purposes you should not set this flag, otherwise you will dirty the repo - // with the test-specific helm values diff. - generateHelmDocs bool - repoPrefixOverride string - globalPullPolicy string -} - -const ( - versionFlag = "version" - generateHelmDocsFlag = "generate-helm-docs" - repoPrefixOverrideFlag = "repo-prefix-override" - globalPullPolicyFlag = "global-pull-policy-override" -) - -var defaultFlagOptions = flagOptions{ - version: "", - generateHelmDocs: false, - repoPrefixOverride: "", - globalPullPolicy: "", -} - -func ingestFlags() { - flag.StringVar(&flagOpts.version, versionFlag, "", "required, version to use for generated helm files") - flag.BoolVar(&flagOpts.generateHelmDocs, generateHelmDocsFlag, false, "(for release) if set, will generate docs for the helm values") - flag.StringVar(&flagOpts.repoPrefixOverride, repoPrefixOverrideFlag, "", "(for tests) if set, will override container repo") - flag.StringVar(&flagOpts.globalPullPolicy, globalPullPolicyFlag, "", "(for tests) if set, will override all image pull policies") - flag.Parse() -} - -func main() { - ingestFlags() - if flagOpts.version == "" { - log.Fatalf("must pass a version with flag: %v", versionFlag) - } - - log.Printf("Generating helm files.") - if err := generateValuesYaml(flagOpts.version, flagOpts.repoPrefixOverride, flagOpts.globalPullPolicy); err != nil { - log.Fatalf("generating values.yaml failed!: %v", err) - } - log.Printf("NOT generating helm value docs, set %v to produce helm value docs", generateHelmDocsFlag) - if err := generateChartYaml(flagOpts.version); err != nil { - log.Fatalf("generating Chart.yaml failed!: %v", err) - } -} - -func generateValuesYaml(version, repositoryPrefix, globalPullPolicy string) error { - cfg, err := generateValuesConfig(version, repositoryPrefix, globalPullPolicy) - if err != nil { - return err - } - - return writeYaml(cfg, valuesOutput) -} - -func generateChartYaml(version string) error { - var chart generate.Chart - if err := readYaml(chartTemplate, &chart); err != nil { - return err - } - - chart.Version = version - - return writeYaml(&chart, chartOutput) -} - -func readYaml(path string, obj interface{}) error { - bytes, err := os.ReadFile(path) - if err != nil { - return errors.Wrapf(err, "failed reading server config file: %s", path) - } - - if err := yaml.Unmarshal(bytes, obj); err != nil { - return errors.Wrap(err, "failed parsing configuration file") - } - - return nil -} - -func writeYaml(obj interface{}, path string) error { - bytes, err := yaml.Marshal(obj) - if err != nil { - return errors.Wrapf(err, "failed marshaling config struct") - } - - err = os.WriteFile(path, bytes, os.ModePerm) - if err != nil { - return errors.Wrapf(err, "failing writing config file") - } - return nil -} - -func readValuesTemplate() (*generate.HelmConfig, error) { - var config generate.HelmConfig - if err := readYaml(valuesTemplate, &config); err != nil { - return nil, err - } - - return &config, nil -} - -func generateValuesConfig(version, repositoryPrefix, globalPullPolicy string) (*generate.HelmConfig, error) { - cfg, err := readValuesTemplate() - if err != nil { - return nil, err - } - - cfg.Gloo.Deployment.Image.Tag = &version - // this will be overwritten in solo-projects - cfg.Gloo.Deployment.OssImageTag = &version - cfg.Discovery.Deployment.Image.Tag = &version - cfg.Gateway.CertGenJob.Image.Tag = &version - cfg.Gateway.RolloutJob.Image.Tag = &version - cfg.Gateway.CleanupJob.Image.Tag = &version - - cfg.Global.GlooMtls.Sds.Image.Tag = &version - cfg.Global.GlooMtls.EnvoySidecar.Image.Tag = &version - - for _, v := range cfg.GatewayProxies { - v.PodTemplate.Image.Tag = &version - } - - // set the image for the default GatewayParameters for gloo-gateway GatewayClass. - // If additional GatewayClasses are added, they will need to be included here. - cfg.KubeGateway.GatewayParameters.GlooGateway.EnvoyContainer.Image.Tag = &version - cfg.KubeGateway.GatewayParameters.GlooGateway.SdsContainer.Image.Tag = &version - cfg.KubeGateway.GatewayParameters.GlooGateway.AIExtension.Image.Tag = &version - - if repositoryPrefix != "" { - cfg.Global.Image.Registry = &repositoryPrefix - } - - if globalPullPolicy != "" { - cfg.Global.Image.PullPolicy = &globalPullPolicy - } - - return cfg, nil -} diff --git a/install/helm/gloo/generate/chart.go b/install/helm/gloo/generate/chart.go deleted file mode 100644 index b9fae7256a9..00000000000 --- a/install/helm/gloo/generate/chart.go +++ /dev/null @@ -1,11 +0,0 @@ -package generate - -type Chart struct { - ApiVersion string `json:"apiVersion"` - Description string `json:"description"` - Name string `json:"name"` - Version string `json:"version"` - Home string `json:"home"` - Icon string `json:"icon"` - Sources []string `json:"sources"` -} diff --git a/install/helm/gloo/generate/values.go b/install/helm/gloo/generate/values.go deleted file mode 100644 index bc34fa28b7c..00000000000 --- a/install/helm/gloo/generate/values.go +++ /dev/null @@ -1,827 +0,0 @@ -package generate - -import ( - corev1 "k8s.io/api/core/v1" -) - -type HelmConfig struct { - Config - Global *Global `json:"global,omitempty"` -} - -type Config struct { - Namespace *Namespace `json:"namespace,omitempty"` - // This is an Alpha API and is subject to change in subsequent 1.17 beta releases - KubeGateway *KubeGateway `json:"kubeGateway,omitempty" desc:"Settings for the Gloo Gateway Kubernetes Gateway API controller."` - Settings *Settings `json:"settings,omitempty"` - Gloo *Gloo `json:"gloo,omitempty"` - Discovery *Discovery `json:"discovery,omitempty"` - Gateway *Gateway `json:"gateway,omitempty"` - GatewayProxies map[string]GatewayProxy `json:"gatewayProxies,omitempty"` - K8s *K8s `json:"k8s,omitempty"` -} - -type Global struct { - Image *Image `json:"image,omitempty"` - Extensions interface{} `json:"extensions,omitempty"` - GlooRbac *Rbac `json:"glooRbac,omitempty"` - GlooStats Stats `json:"glooStats,omitempty" desc:"Config used as the default values for Prometheus stats published from Gloo Edge pods. Can be overridden by individual deployments."` - GlooMtls Mtls `json:"glooMtls,omitempty" desc:"Config used to enable internal mtls authentication."` - IstioSDS IstioSDS `json:"istioSDS,omitempty" desc:"Config used for installing Gloo Edge with Istio SDS cert rotation features to facilitate Istio mTLS."` - IstioIntegration IstioIntegration `json:"istioIntegration,omitempty" desc:"Configs used to manage Gloo pod visibility for Istio's automatic discovery and sidecar injection."` - ExtraSpecs *bool `json:"extraSpecs,omitempty" desc:"Add additional specs to include in the settings manifest, as defined by a helm partial. Defaults to false in open source, and true in enterprise."` - ExtauthCustomYaml *bool `json:"extauthCustomYaml,omitempty" desc:"Inject whatever yaml exists in .Values.global.extensions.extAuth into settings.spec.extauth, instead of structured yaml (which is enterprise only). Defaults to true in open source, and false in enterprise"` - Console interface{} `json:"console,omitempty" desc:"Configuration options for the Enterprise Console (UI)."` - Graphql interface{} `json:"graphql,omitempty" desc:"(Enterprise Only): GraphQL configuration options."` - ConfigMaps []*GlobalConfigMap `json:"configMaps,omitempty" desc:"Config used to create ConfigMaps at install time to store arbitrary data."` - ExtraCustomResources *bool `json:"extraCustomResources,omitempty" desc:"Add additional custom resources to create, as defined by a helm partial. Defaults to false in open source, and true in enterprise."` - AdditionalLabels map[string]string `json:"additionalLabels,omitempty" desc:"Additional labels to add to all gloo resources."` - PodSecurityStandards *PodSecurityStandards `json:"podSecurityStandards,omitempty" desc:"Configuration related to [Pod Security Standards](https://kubernetes.io/docs/concepts/security/pod-security-standards/)."` - SecuritySettings *SecuritySettings `json:"securitySettings,omitempty" desc:"Global settings for pod and container security contexts"` -} - -type SecuritySettings struct { - FloatingUserId *bool `json:"floatingUserId,omitempty" desc:"If true, use 'true' as default value for all instances of floatingUserId. In OSS, has the additional effects of rendering charts as if 'discovery.deployment.enablePodSecurityContext=false' and 'gatewayProxies.gatewayProxy.podTemplate.enablePodSecurityContext=false'. In EE templates has the additional effects of rendering charts as if 'redis.deployment.enablePodSecurityContext=false', and in the ExtAuth deployment's podSecurityContext, behavior will match the local 'floatingUserId' and fsGroup will not be rendered."` -} - -type PodSecurityStandards struct { - Container *ContainerSecurityStandards `json:"container,omitempty" desc:"Container configuration related to [Pod Security Standards](https://kubernetes.io/docs/concepts/security/pod-security-standards/)."` -} - -type ContainerSecurityStandards struct { - EnableRestrictedContainerDefaults *bool `json:"enableRestrictedContainerDefaults,omitempty" desc:"Set to true to default all containers to a security policy that minimally conforms to a [restricted container security policy](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). "` - DefaultSeccompProfileType *string `json:"defaultSeccompProfileType,omitempty" desc:"The seccomp profile type to use for default restricted container securityContexts. Valid values are 'RuntimeDefault' and 'Localhost'. Default is 'RuntimeDefault'. Has no effect if enableRestrictedContainerDefaults is false."` -} - -type Namespace struct { - Create *bool `json:"create,omitempty" desc:"create the installation namespace"` -} - -type Rbac struct { - Create *bool `json:"create,omitempty" desc:"create rbac rules for the gloo-system service account"` - Namespaced *bool `json:"namespaced,omitempty" desc:"use Roles instead of ClusterRoles"` - NameSuffix *string `json:"nameSuffix,omitempty" desc:"When nameSuffix is nonempty, append '-$nameSuffix' to the names of Gloo Edge RBAC resources; e.g. when nameSuffix is 'foo', the role 'gloo-resource-reader' will become 'gloo-resource-reader-foo'"` -} - -// Common -type Image struct { - Tag *string `json:"tag,omitempty" desc:"The image tag for the container."` - Repository *string `json:"repository,omitempty" desc:"The image repository (name) for the container."` - Digest *string `json:"digest,omitempty" desc:"The container image's hash digest (e.g. 'sha256:12345...'), consumed when variant=standard."` - FipsDigest *string `json:"fipsDigest,omitempty" desc:"The container image's hash digest (e.g. 'sha256:12345...'), consumed when variant=fips. If the image does not have a fips variant, this field will contain the digest for the standard image variant."` - DistrolessDigest *string `json:"distrolessDigest,omitempty" desc:"The container image's hash digest (e.g. 'sha256:12345...'), consumed when variant=distroless. If the image does not have a distroless variant, this field will contain the digest for the standard image variant."` - FipsDistrolessDigest *string `json:"fipsDistrolessDigest,omitempty" desc:"The container image's hash digest (e.g. 'sha256:12345...'), consumed when variant=fips-distroless. If the image does not have a fips-distroless variant, this field will contain either the fips variant's digest (if supported), else the distroless variant's digest (if supported), else the standard variant's digest."` - Registry *string `json:"registry,omitempty" desc:"The image hostname prefix and registry, such as quay.io/solo-io."` - PullPolicy *string `json:"pullPolicy,omitempty" desc:"The image pull policy for the container. For default values, see the Kubernetes docs: https://kubernetes.io/docs/concepts/containers/images/#imagepullpolicy-defaulting"` - PullSecret *string `json:"pullSecret,omitempty" desc:"The image pull secret to use for the container, in the same namespace as the container pod."` - Variant *string `json:"variant,omitempty" desc:"Specifies the variant of the control plane and data plane containers to deploy. Can take the values 'standard', 'fips', 'distroless', 'fips-distroless'. Defaults to standard. (The 'fips' and 'fips-distroless' variants are an Enterprise-only feature)"` - Fips *bool `json:"fips,omitempty" desc:"[Deprecated] Use 'variant=fips' instead. If true, deploys a version of the control plane and data plane containers that is built with FIPS-compliant crypto libraries. (Enterprise-only feature)"` -} - -type ResourceAllocation struct { - Memory *string `json:"memory,omitempty" desc:"amount of memory"` - CPU *string `json:"cpu,omitempty" desc:"amount of CPUs"` -} - -type ResourceRequirements struct { - Limits *ResourceAllocation `json:"limits,omitempty" desc:"resource limits of this container"` - Requests *ResourceAllocation `json:"requests,omitempty" desc:"resource requests of this container"` -} - -type PodSpec struct { - RestartPolicy *string `json:"restartPolicy,omitempty" desc:"restart policy to use when the pod exits"` - PriorityClassName *string `json:"priorityClassName,omitempty" desc:"name of a defined priority class"` - NodeName *string `json:"nodeName,omitempty" desc:"name of node to run on"` - NodeSelector map[string]string `json:"nodeSelector,omitempty" desc:"label selector for nodes"` - Tolerations []*corev1.Toleration `json:"tolerations,omitempty"` - Affinity map[string]interface{} `json:"affinity,omitempty"` - HostAliases []interface{} `json:"hostAliases,omitempty"` - InitContainers []interface{} `json:"initContainers,omitempty" desc:"[InitContainers](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#containers) to be added to the array of initContainers on the deployment."` -} - -type JobSpec struct { - *PodSpec - ActiveDeadlineSeconds *int `json:"activeDeadlineSeconds,omitempty" desc:"Deadline in seconds for Kubernetes jobs."` - BackoffLimit *int `json:"backoffLimit,omitempty" desc:"Specifies the number of retries before marking this job failed. In kubernetes, defaults to 6"` - Completions *int `json:"completions,omitempty" desc:"Specifies the desired number of successfully finished pods the job should be run with."` - ManualSelector *bool `json:"manualSelector,omitempty" desc:"Controls generation of pod labels and pod selectors."` - Parallelism *int `json:"parallelism,omitempty" desc:"Specifies the maximum desired number of pods the job should run at any given time."` - TtlSecondsAfterFinished *int `json:"ttlSecondsAfterFinished,omitempty" desc:"Clean up the finished job after this many seconds. Defaults to 300 for the rollout jobs and 60 for the rest."` - ExtraPodLabels map[string]string `json:"extraPodLabels,omitempty" desc:"Optional extra key-value pairs to add to the spec.template.metadata.labels data of the job."` - ExtraPodAnnotations map[string]string `json:"extraPodAnnotations,omitempty" desc:"Optional extra key-value pairs to add to the spec.template.metadata.annotations data of the job."` - ContainerSecurityContext *SecurityContext `json:"containerSecurityContext,omitempty" desc:"securityContext for the job. If this is defined it supercedes any values set in RunAsUser, RunAsGroup, FsGroup, ReadOnlyRootFilesystem or any other securityContext fields that may be individually set. See [security context](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#securitycontext-v1-core) for details."` -} - -type DeploymentSpecSansResources struct { - Replicas *int `json:"replicas,omitempty" desc:"number of instances to deploy"` - CustomEnv []*corev1.EnvVar `json:"customEnv,omitempty" desc:"custom extra environment variables for the container"` - *PodSpec -} - -type DeploymentSpec struct { - DeploymentSpecSansResources - Resources *ResourceRequirements `json:"resources,omitempty" desc:"resources for the main pod in the deployment"` - *KubeResourceOverride -} - -// Used to override any field in generated kubernetes resources. -type KubeResourceOverride struct { - KubeResourceOverride map[string]interface{} `json:"kubeResourceOverride,omitempty" desc:"override fields in the generated resource by specifying the yaml structure to override under the top-level key."` -} - -type Integrations struct { - Consul *Consul `json:"consul,omitempty" desc:"Consul settings to inject into the consul client on startup"` - ConsulUpstreamDiscovery *ConsulUpstreamDiscovery `json:"consulUpstreamDiscovery,omitempty" desc:"Settings for Gloo Edge's behavior when discovering consul services and creating upstreams for them."` -} - -type Consul struct { - Datacenter *string `json:"datacenter,omitempty" desc:"Datacenter to use. If not provided, the default agent datacenter is used."` - Username *string `json:"username,omitempty" desc:"Username to use for HTTP Basic Authentication."` - Password *string `json:"password,omitempty" desc:"Password to use for HTTP Basic Authentication."` - Token *string `json:"token,omitempty" desc:"Token is used to provide a per-request ACL token which overrides the agent's default token."` - CaFile *string `json:"caFile,omitempty" desc:"caFile is the optional path to the CA certificate used for Consul communication, defaults to the system bundle if not specified."` - CaPath *string `json:"caPath,omitempty" desc:"caPath is the optional path to a directory of CA certificates to use for Consul communication, defaults to the system bundle if not specified."` - CertFile *string `json:"certFile,omitempty" desc:"CertFile is the optional path to the certificate for Consul communication. If this is set then you need to also set KeyFile."` - KeyFile *string `json:"keyFile,omitempty" desc:"KeyFile is the optional path to the private key for Consul communication. If this is set then you need to also set CertFile."` - InsecureSkipVerify *bool `json:"insecureSkipVerify,omitempty" desc:"InsecureSkipVerify if set to true will disable TLS host verification."` - WaitTime *string `json:"waitTime,omitempty" desc:"WaitTime limits how long a watches for Consul resources will block. If not provided, the agent default values will be used."` - ServiceDiscovery *ServiceDiscoveryOptions `json:"serviceDiscovery,omitempty" desc:"Enable Service Discovery via Consul with this field set to empty struct '{}' to enable with defaults"` - HttpAddress *string `json:"httpAddress,omitempty" desc:"The address of the Consul HTTP server. Used by service discovery and key-value storage (if-enabled). Defaults to the value of the standard CONSUL_HTTP_ADDR env if set, otherwise to 127.0.0.1:8500."` - DnsAddress *string `json:"dnsAddress,omitempty" desc:"The address of the DNS server used to resolve hostnames in the Consul service address. Used by service discovery (required when Consul service instances are stored as DNS names). Defaults to 127.0.0.1:8600. (the default Consul DNS server)"` - DnsPollingInterval *string `json:"dnsPollingInterval,omitempty" desc:"The polling interval for the DNS server. If there is a Consul service address with a hostname instead of an IP, Gloo Edge will resolve the hostname with the configured frequency to update endpoints with any changes to DNS resolution. Defaults to 5s."` -} - -type ServiceDiscoveryOptions struct { - DataCenters []string `json:"dataCenters,omitempty" desc:"Use this parameter to restrict the data centers that will be considered when discovering and routing to services. If not provided, Gloo Edge will use all available data centers."` -} - -type ConsulUpstreamDiscovery struct { - UseTlsTagging *bool `json:"useTlsTagging,omitempty" desc:"Allow Gloo Edge to automatically apply tls to consul services that are tagged the tlsTagName value. Requires RootCaResourceNamespace and RootCaResourceName to be set if true."` - TlsTagName *string `json:"tlsTagName,omitempty" desc:"The tag Gloo Edge should use to identify consul services that ought to use TLS. If splitTlsServices is true, then this tag is also used to sort serviceInstances into the tls upstream. Defaults to 'glooUseTls'."` - SplitTlsServices *bool `json:"splitTlsServices,omitempty" desc:"If true, then create two upstreams to be created when a consul service contains the tls tag; one with TLS and one without."` - RootCa *ResourceRef `json:"rootCa,omitempty" desc:"The name/namespace of the root CA needed to use TLS with consul services."` -} - -// equivalent of core.solo.io.ResourceRef -type ResourceRef struct { - Namespace *string `json:"namespace,omitempty" desc:"The namespace of this resource."` - Name *string `json:"name,omitempty" desc:"The name of this resource."` -} - -// google.protobuf.Duration -type Duration struct { - Seconds *int32 `json:"seconds,omitempty" desc:"The value of this duration in seconds."` - Nanos *int32 `json:"nanos,omitempty" desc:"The value of this duration in nanoseconds."` -} - -type Settings struct { - WatchNamespaces []string `json:"watchNamespaces,omitempty" desc:"whitelist of namespaces for Gloo Edge to watch for services and CRDs. Empty list means all namespaces. If this and WatchNamespaceSelectors are specified, this takes precedence and WatchNamespaceSelectors is ignored"` - WatchNamespaceSelectors interface{} `json:"watchNamespaceSelectors,omitempty" desc:"A list of Kubernetes selectors that specify the set of namespaces to restrict the namespaces that Gloo controllers take into consideration when watching for resources. Elements in the list are disjunctive (OR semantics), i.e. a namespace will be included if it matches any selector. An empty list means all namespaces. If this and WatchNamespaces are specified, WatchNamespaces takes precedence and this is ignored"` - WriteNamespace *string `json:"writeNamespace,omitempty" desc:"namespace where intermediary CRDs will be written to, e.g. Upstreams written by Gloo Edge Discovery."` - Integrations *Integrations `json:"integrations,omitempty"` - Create *bool `json:"create,omitempty" desc:"create a Settings CRD which provides bootstrap configuration to Gloo Edge controllers"` - Extensions interface{} `json:"extensions,omitempty"` - SingleNamespace *bool `json:"singleNamespace,omitempty" desc:"Enable to use install namespace as WatchNamespace and WriteNamespace"` - InvalidConfigPolicy *InvalidConfigPolicy `json:"invalidConfigPolicy,omitempty" desc:"Define policies for Gloo Edge to handle invalid configuration"` - Linkerd *bool `json:"linkerd,omitempty" desc:"Enable automatic Linkerd integration in Gloo Edge"` - DisableProxyGarbageCollection *bool `json:"disableProxyGarbageCollection,omitempty" desc:"Set this option to determine the state of an Envoy listener when the corresponding Proxy resource has no routes. If false (default), Gloo Edge will propagate the state of the Proxy to Envoy, resetting the listener to a clean slate with no routes. If true, Gloo Edge will keep serving the routes from the last applied valid configuration."` - RegexMaxProgramSize *uint32 `json:"regexMaxProgramSize,omitempty" desc:"Set this field to specify the RE2 default max program size which is a rough estimate of how complex the compiled regex is to evaluate. If not specified, this defaults to 1024."` - DisableKubernetesDestinations *bool `json:"disableKubernetesDestinations,omitempty" desc:"Enable or disable Gloo Edge to scan Kubernetes services in the cluster and create in-memory Upstream resources to represent them. These resources enable Gloo Edge to route requests to a Kubernetes service. Note that if you have a large number of services in your cluster and you do not restrict the namespaces that Gloo Edge watches, the API snapshot increases which can have a negative impact on the Gloo Edge translation time. In addition, load balancing is done in kube-proxy which can have further performance impacts. Using Gloo Upstreams as a routing destination bypasses kube-proxy as the request is routed to the pod directly. Alternatively, you can use [Kubernetes](https://docs.solo.io/gloo-edge/latest/reference/api/github.com/kgateway-dev/kgateway/projects/gloo/api/v1/options/kubernetes/kubernetes.proto.sk/) Upstream resources as a routing destination to forward requests to the pod directly. For more information, see the [docs](https://docs.solo.io/gloo-edge/latest/guides/traffic_management/destination_types/kubernetes_services/)."` - Aws AwsSettings `json:"aws,omitempty"` - RateLimit interface{} `json:"rateLimit,omitempty" desc:"Partial config for Gloo Edge Enterprise’s rate-limiting service, based on Envoy’s rate-limit service; supports Envoy’s rate-limit service API. (reference here: https://github.com/lyft/ratelimit#configuration) Configure rate-limit descriptors here, which define the limits for requests based on their descriptors. Configure rate-limits (composed of actions, which define how request characteristics get translated into descriptors) on the VirtualHost or its routes."` - RatelimitServer interface{} `json:"ratelimitServer,omitempty" desc:"External Ratelimit Server configuration for Gloo Edge Open Sources’s rate-limiting service, based on Envoy’s rate-limit service; supports Envoy’s rate-limit service API. (reference here: https://docs.solo.io/gloo-edge/main/guides/security/rate_limiting/)"` - CircuitBreakers CircuitBreakersSettings `json:"circuitBreakers,omitempty" desc:"Set this to configure the circuit breaker settings for Gloo."` - EnableRestEds *bool `json:"enableRestEds,omitempty" desc:"Whether or not to use rest xds for all EDS by default. Defaults to false."` - // NOTE: DevMode is deprecated. See https://docs.solo.io/gloo-edge/latest/operations/debugging_gloo/#debugging-the-control-plane for more details. - DevMode *bool `json:"devMode,omitempty" desc:"Whether or not to enable dev mode. Defaults to false. Setting to true at install time will expose the gloo dev admin endpoint on port 10010. Not recommended for production. Warning: this value is deprecated as of 1.17 and will be removed in a future release."` - SecretOptions SecretOptions `json:"secretOptions,omitempty" desc:"Options for how Gloo Edge should handle secrets."` - *KubeResourceOverride -} - -type AwsSettings struct { - EnableCredentialsDiscovery *bool `json:"enableCredentialsDiscovery,omitempty" desc:"Enable AWS credentials discovery in Envoy for lambda requests. If enableServiceAccountCredentials is also set, it will take precedence as only one may be enabled in Gloo Edge"` - EnableServiceAccountCredentials *bool `json:"enableServiceAccountCredentials,omitempty" desc:"Use ServiceAccount credentials to authenticate lambda requests. If enableCredentialsDiscovery is also set, this will take precedence as only one may be enabled in Gloo Edge"` - StsCredentialsRegion *string `json:"stsCredentialsRegion,omitempty" desc:"Regional endpoint to use for AWS STS requests. If empty will default to global sts endpoint."` - PropagateOriginalRouting *bool `json:"propagateOriginalRouting,omitempty" desc:"Send downstream path and method as x-envoy-original-path and x-envoy-original-method headers on the request to AWS lambda."` - CredentialRefreshDelay *Duration `json:"credential_refresh_delay,omitempty" desc:"Adds a timed refresh to for ServiceAccount credentials in addition to the default filewatch."` - FallbackToFirstFunction *bool `json:"fallbackToFirstFunction,omitempty" desc:"It will use the first function which if discovery is enabled the first function is the first function name alphabetically from the last discovery run. Defaults to false."` -} - -type SecretOptions struct { - Sources []*SecretOptionsSource `json:"sources,omitempty" desc:"List of sources to use for secrets."` -} - -type SecretOptionsSource struct { - Kubernetes KubernetesSecrets `json:"kubernetes,omitempty" desc:"Only one of kubernetes, vault, or directory may be set"` - Vault VaultSecrets `json:"vault,omitempty" desc:"Only one of kubernetes, vault, or directory may be set"` - Directory Directory `json:"directory,omitempty" desc:"Only one of kubernetes, vault, or directory may be set"` -} - -type KubernetesSecrets struct{} - -type VaultSecrets struct { - Address string `json:"address,omitempty" desc:"Address of the Vault server. This should be a complete URL such as http://solo.io and include port if necessary (vault's default port is 8200)."` - RootKey string `json:"rootKey,omitempty" desc:"All keys stored in Vault will begin with this Vault this can be used to run multiple instances of Gloo against the same Vault cluster defaults to gloo."` - PathPrefix string `json:"pathPrefix,omitempty" desc:"Optional. The name of a Vault Secrets Engine to which Vault should route traffic. For more info see https://learn.hashicorp.com/tutorials/vault/getting-started-secrets-engines. Defaults to 'secret'."` - TlsConfig VaultTlsConfig `json:"tlsConfig,omitempty" desc:"Configure TLS options for client connection to Vault. This is only available when running Gloo Edge outside of an container orchestration tool such as Kubernetes or Nomad."` - AccessToken string `json:"accessToken,omitempty" desc:"Vault token to use for authentication. Only one of accessToken or aws may be set."` - Aws VaultAwsAuth `json:"aws,omitempty" desc:"Only one of accessToken or aws may be set."` -} - -type VaultTlsConfig struct { - CaCert string `json:"caCert,omitempty" desc:"Path to a PEM-encoded CA cert file to use to verify the Vault server SSL certificate."` - CaPath string `json:"caPath,omitempty" desc:"Path to a directory of PEM-encoded CA cert files to verify the Vault server SSL certificate."` - ClientCert string `json:"clientCert,omitempty" desc:"Path to the certificate for Vault communication."` - ClientKey string `json:"clientKey,omitempty" desc:"Path to the private key for Vault communication."` - TlsServerName string `json:"tlsServerName,omitempty" desc:"If set, it is used to set the SNI host when connecting via TLS."` - Insecure bool `json:"insecure,omitempty" desc:"Disables TLS verification when set to true."` -} - -type VaultAwsAuth struct { - VaultRole string `json:"vaultRole,omitempty" desc:"The Vault role we are trying to authenticate to. This is not necessarily the same as the AWS role to which the Vault role is configured."` - Region string `json:"region,omitempty" desc:"The AWS region to use for the login attempt."` - IamServerIdHeader string `json:"iamServerIdHeader,omitempty" desc:"The IAM Server ID Header required to be included in the request."` - MountPath string `json:"mountPath,omitempty" desc:"The Vault path on which the AWS auth is mounted."` - AccessKeyID string `json:"accessKeyID,omitempty" desc:"Optional. The Access Key ID as provided by the security credentials on the AWS IAM resource. In cases such as receiving temporary credentials through assumed roles with AWS Security Token Service (STS) or IAM Roles for Service Accounts (IRSA), this field can be omitted. https://developer.hashicorp.com/vault/docs/auth/aws#iam-authentication-inferences."` - SecretAccessKey string `json:"secretAccessKey,omitempty" desc:"Optional. The Secret Access Key as provided by the security credentials on the AWS IAM resource. In cases such as receiving temporary credentials through assumed roles with AWS Security Token Service (STS) or IAM Roles for Service Accounts (IRSA), this field can be omitted. https://developer.hashicorp.com/vault/docs/auth/aws#iam-authentication-inferences."` - SessionToken string `json:"sessionToken,omitempty" desc:"The Session Token as provided by the security credentials on the AWS IAM resource."` - LeaseIncrement *uint32 `json:"leaseIncrement,omitempty" desc:"The time increment, in seconds, used in renewing the lease of the Vault token. See: https://developer.hashicorp.com/vault/docs/concepts/lease#lease-durations-and-renewal. Defaults to 0, which causes the default TTL to be used."` -} - -type Directory struct { - Directory string `json:"directory,omitempty" desc:"Directory to read secrets from."` -} - -type CircuitBreakersSettings struct { - MaxConnections *uint32 `json:"maxConnections,omitempty" desc:"Set this field to specify the maximum number of connections that Envoy will make to the upstream cluster. If not specified, the default is 1024."` - MaxPendingRequests *uint32 `json:"maxPendingRequests,omitempty" desc:"Set this field to specify the maximum number of pending requests that Envoy will allow to the upstream cluster. If not specified, the default is 1024."` - MaxRequests *uint32 `json:"maxRequests,omitempty" desc:"Set this field to specify the maximum number of parallel requests that Envoy will make to the upstream cluster. If not specified, the default is 1024."` - MaxRetries *uint32 `json:"maxRetries,omitempty" desc:"Set this field to specify the maximum number of parallel retries that Envoy will allow to the upstream cluster. If not specified, the default is 3."` -} - -type InvalidConfigPolicy struct { - ReplaceInvalidRoutes *bool `json:"replaceInvalidRoutes,omitempty" desc:"Rather than pausing configuration updates, in the event of an invalid Route defined on a virtual service or route table, Gloo Edge will serve the route with a predefined direct response action. This allows valid routes to be updated when other routes are invalid."` - InvalidRouteResponseCode *int64 `json:"invalidRouteResponseCode,omitempty" desc:"the response code for the direct response"` - InvalidRouteResponseBody *string `json:"invalidRouteResponseBody,omitempty" desc:"the response body for the direct response"` -} - -type Gloo struct { - Deployment *GlooDeployment `json:"deployment,omitempty"` - ServiceAccount `json:"serviceAccount,omitempty"` - SplitLogOutput *bool `json:"splitLogOutput,omitempty" desc:"Set to true to send debug/info/warning logs to stdout, error/fatal/panic to stderr. Set to false to send all logs to stdout"` - GlooService *KubeResourceOverride `json:"service,omitempty"` - LogLevel *string `json:"logLevel,omitempty" desc:"Level at which the pod should log. Options include \"info\", \"debug\", \"warn\", \"error\", \"panic\" and \"fatal\". Default level is info"` - DisableLeaderElection *bool `json:"disableLeaderElection,omitempty" desc:"Set to true to disable leader election, and ensure all running replicas are considered the leader. Do not enable this with multiple replicas of Gloo"` - HeaderSecretRefNsMatchesUs *bool `json:"headerSecretRefNsMatchesUs,omitempty" desc:"Set to true to require that secrets sent in headers via headerSecretRefs come from the same namespace as the destination upstream. Default: false"` - PodDisruptionBudget *PodDisruptionBudget `json:"podDisruptionBudget,omitempty"` -} - -type KubeGateway struct { - Enabled *bool `json:"enabled,omitempty" desc:"Enable the Gloo Gateway Kubernetes Gateway API controller."` - GatewayParameters *GatewayParametersForGatewayClasses `json:"gatewayParameters,omitempty" desc:"Maps GatewayClasses to default GatewayParameters"` - Portal *PortalParameters `json:"portal,omitempty" desc:"(Enterprise Only) Config to enable the Gloo Gateway Portal controller and web server."` -} - -type PortalParameters struct { - Enabled *bool `json:"enabled,omitempty" desc:"Enable the Gloo Gateway Portal controller and web server."` -} - -type GatewayParametersForGatewayClasses struct { - GlooGateway *GatewayParameters `json:"glooGateway,omitempty" desc:"Default GatewayParameters for gloo-gateway GatewayClass."` -} - -type GatewayParameters struct { - EnvoyContainer *EnvoyContainer `json:"envoyContainer,omitempty" desc:"Config for the Envoy container of the proxy deployment."` - ProxyDeployment *ProvisionedDeployment `json:"proxyDeployment,omitempty" desc:"Options specific to the deployment of the dynamically provisioned gateway proxy. Only a subset of all possible options is available. See \"ProvisionedDeployment\" for which are configurable via helm."` - Service *ProvisionedService `json:"service,omitempty" desc:"Options specific to the service of the dynamically provisioned gateway proxy. Only a subset of all possible options is available. See \"ProvisionedService\" for which are configurable via helm."` - ServiceAccount *ProvisionedServiceAccount `json:"serviceAccount,omitempty" desc:"Options specific to the ServiceAccount of the dynamically provisioned gateway proxy. Only a subset of all possible options is available. See \"ProvisionedServiceAccount\" for which are configurable via helm."` - SdsContainer *GatewayParamsSdsContainer `json:"sdsContainer,omitempty" desc:"Config used to manage the Gloo Gateway SDS container."` - Istio *Istio `json:"istio,omitempty" desc:"Configs used to manage Istio integration."` - Stats *GatewayParamsStatsConfig `json:"stats,omitempty" desc:"Config used to manage the stats endpoints exposed on the deployed proxies"` - AIExtension *GatewayParamsAIExtension `json:"aiExtension,omitempty" desc:"Config used to manage the Gloo Gateway AI extension."` - FloatingUserId *bool `json:"floatingUserId,omitempty" desc:"If true, allows the cluster to dynamically assign a user ID for the processes running in the container. Default is false."` - PodTemplate *GatewayParamsPodTemplate `json:"podTemplate,omitempty" desc:"The template used to generate the gatewayParams pod"` - // TODO(npolshak): Add support for GlooMtls -} - -// GatewayProxyPodTemplate contains the Helm API available to configure the PodTemplate on the gateway Deployment -type GatewayParamsPodTemplate struct { - GracefulShutdown *GracefulShutdownSpec `json:"gracefulShutdown,omitempty" desc:"If enabled, it calls the /'healthcheck/fail' endpoint on the envoy container prior to shutdown. This is useful for draining a server prior to shutting it down or doing a full"` - TerminationGracePeriodSeconds *int `json:"terminationGracePeriodSeconds,omitempty" desc:"Time in seconds to wait for the pod to terminate gracefully. See [kubernetes docs](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#istio-lifecycle) for more info."` - Probes *bool `json:"probes,omitempty" desc:"Set to true to enable a readiness probe (default is false). Then, you can also enable a liveness probe."` - CustomReadinessProbe *corev1.Probe `json:"customReadinessProbe,omitempty" desc:"Defines a custom readiness probe. If not provided, a default one is set"` - CustomLivenessProbe *corev1.Probe `json:"customLivenessProbe,omitempty" desc:"Defines a custom liveness probe. If not specified, no default liveness probe is set"` -} - -type GatewayParamsStatsConfig struct { - Enabled *bool `json:"enabled,omitempty" desc:"Enable the prometheus endpoint"` - RoutePrefixRewrite *string `json:"routePrefixRewrite,omitempty" desc:"Set the prefix rewrite used for the prometheus endpoint"` - EnableStatsRoute *bool `json:"enableStatsRoute,omitempty" desc:"Enable the stats endpoint"` - StatsRoutePrefixRewrite *string `json:"statsRoutePrefixRewrite,omitempty" desc:"Set the prefix rewrite used for the stats endpoint"` -} - -type Istio struct { - IstioProxyContainer *GatewayParamsIstioProxyContainer `json:"istioProxyContainer,omitempty" desc:"Config used to manage the istio-proxy container."` - CustomSidecars []interface{} `json:"customSidecars,omitempty" desc:"Override the default Istio sidecar in gateway-proxy with a custom container. Ignored if Istio.enabled is false"` -} - -type ProvisionedDeployment struct { - Replicas *int32 `json:"replicas,omitempty" desc:"number of instances to deploy. If set to null, a default of 1 will be imposed."` -} - -type ProvisionedService struct { - Type *string `json:"type,omitempty" desc:"K8s service type. If set to null, a default of LoadBalancer will be imposed."` - ExtraLabels map[string]string `json:"extraLabels,omitempty" desc:"Extra labels to add to the service."` - ExtraAnnotations map[string]string `json:"extraAnnotations,omitempty" desc:"Extra annotations to add to the service."` -} - -type ProvisionedServiceAccount struct { - ExtraLabels map[string]string `json:"extraLabels,omitempty" desc:"Extra labels to add to the service account."` - ExtraAnnotations map[string]string `json:"extraAnnotations,omitempty" desc:"Extra annotations to add to the service account."` -} - -type SecurityOpts struct { - MergePolicy *string `json:"mergePolicy,omitempty" desc:"How to combine the defined security policy with the default security policy. Valid values are \"\", \"no-merge\", and \"helm-merge\". If defined as an empty string or \"no-merge\", use the defined security context as is. If \"helm-merge\", merge this security context with the default security context according to the logic of [the helm 'merge' function](https://helm.sh/docs/chart_template_guide/function_list/#merge-mustmerge). This is intended to be used to modify a field in a security context, while using all other default values. Please note that due to how helm's 'merge' function works, you can not override a 'true' value with a 'false' value, and for that case you will need to define the entire security context and set this value to false. Default value is \"\"."` -} -type PodSecurityContext struct { - *corev1.PodSecurityContext - *SecurityOpts -} - -type SecurityContext struct { - *corev1.SecurityContext - *SecurityOpts -} - -// GatewayParamsSecurityContext is a passthrough struct that provides the corev1.SecurityContext without -// exposing the SecurityOpts/MergePolicy. MergePolicy is irrelevant to the GatewayParameters case because -// there is already a default and merge behavior defined. The "default" GatewayParameters are expected to -// be the base config, which is where a default policy can defined; each gwapi.Gateway can have specific -// GatewayParameters which can then override/merge into the default policy -type GatewayParamsSecurityContext struct { - *corev1.SecurityContext -} - -type GlooDeployment struct { - XdsPort *int `json:"xdsPort,omitempty" desc:"port where gloo serves xDS API to Envoy."` - RestXdsPort *uint32 `json:"restXdsPort,omitempty" desc:"port where gloo serves REST xDS API to Envoy."` - ValidationPort *int `json:"validationPort,omitempty" desc:"port where gloo serves gRPC Proxy Validation to Gateway."` - ProxyDebugPort *int `json:"proxyDebugPort,omitempty" desc:"port where gloo serves gRPC Proxy contents to glooctl."` - Stats *Stats `json:"stats,omitempty" desc:"overrides for prometheus stats published by the gloo pod."` - FloatingUserId *bool `json:"floatingUserId,omitempty" desc:"If true, allows the cluster to dynamically assign a user ID for the processes running in the container. If a SecurityContext is defined for the container, this value is not applied for the container."` - RunAsUser *float64 `json:"runAsUser,omitempty" desc:"Explicitly set the user ID for the processes in the container to run as. Default is 10101. If a SecurityContext is defined for the pod or container, this value is not applied for the pod/container."` - ExternalTrafficPolicy *string `json:"externalTrafficPolicy,omitempty" desc:"Set the external traffic policy on the gloo service."` - ExtraGlooLabels map[string]string `json:"extraGlooLabels,omitempty" desc:"Optional extra key-value pairs to add to the spec.template.metadata.labels data of the primary gloo deployment."` - ExtraGlooAnnotations map[string]string `json:"extraGlooAnnotations,omitempty" desc:"Optional extra key-value pairs to add to the spec.template.metadata.annotations data of the primary gloo deployment."` - LivenessProbeEnabled *bool `json:"livenessProbeEnabled,omitempty" desc:"Set to true to enable a liveness probe for Gloo Edge (default is false)."` - OssImageTag *string `json:"ossImageTag,omitempty" desc:"Used for debugging. The version of Gloo OSS that the current version of Gloo Enterprise was built with."` - PodSecurityContext *PodSecurityContext `json:"podSecurityContext,omitempty" desc:"podSecurityContext for the gloo deployment. If this is defined it supersedes any values set in FloatingUserId, RunAsUser, or FsGroup. See [pod security context](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#podsecuritycontext-v1-core) for details."` - *DeploymentSpec - *GlooDeploymentContainer -} - -type GlooDeploymentContainer struct { - Image *Image `json:"image,omitempty"` - GlooContainerSecurityContext *SecurityContext `json:"glooContainerSecurityContext,omitempty" desc:"securityContext the for gloo container. If this is defined it supersedes any values set in FloatingUserId, RunAsUser, DisableNetBind, RunUnprivileged. See [security context](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#securitycontext-v1-core) for details."` -} - -type Discovery struct { - Deployment *DiscoveryDeployment `json:"deployment,omitempty"` - FdsMode *string `json:"fdsMode,omitempty" desc:"mode for function discovery (blacklist or whitelist). See more info in the settings docs"` - UdsOptions *UdsOptions `json:"udsOptions,omitempty" desc:"Configuration options for the Upstream Discovery Service (UDS)."` - FdsOptions *FdsOptions `json:"fdsOptions,omitempty" desc:"Configuration options for the Function Discovery Service (FDS)."` - Enabled *bool `json:"enabled,omitempty" desc:"enable Discovery features"` - ServiceAccount `json:"serviceAccount,omitempty" ` - LogLevel *string `json:"logLevel,omitempty" desc:"Level at which the pod should log. Options include \"info\", \"debug\", \"warn\", \"error\", \"panic\" and \"fatal\". Default level is info."` -} - -type DiscoveryDeployment struct { - Image *Image `json:"image,omitempty"` - Stats Stats `json:"stats,omitempty" desc:"overrides for prometheus stats published by the discovery pod"` - FloatingUserId *bool `json:"floatingUserId,omitempty" desc:"If true, allows the cluster to dynamically assign a user ID for the processes running in the container."` - RunAsUser *float64 `json:"runAsUser,omitempty" desc:"Explicitly set the user ID for the processes in the container to run as. Default is 10101."` - FsGroup *float64 `json:"fsGroup,omitempty" desc:"Explicitly set the group ID for volume ownership. Default is 10101"` - ExtraDiscoveryLabels map[string]string `json:"extraDiscoveryLabels,omitempty" desc:"Optional extra key-value pairs to add to the spec.template.metadata.labels data of the gloo edge discovery deployment."` - ExtraDiscoveryAnnotations map[string]string `json:"extraDiscoveryAnnotations,omitempty" desc:"Optional extra key-value pairs to add to the spec.template.metadata.annotations data of the gloo edge discovery deployment."` - EnablePodSecurityContext *bool `json:"enablePodSecurityContext,omitempty" desc:"Whether or not to render the pod security context. Default is true"` - DiscoveryContainerSecurityContext *SecurityContext `json:"discoveryContainerSecurityContext,omitempty" desc:"securityContext for the discovery container. If this is defined it supercedes any values set in FloatingUserId or RunAsUser. See [security context](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#securitycontext-v1-core) for details."` - *DeploymentSpec -} - -// Configuration options for the Upstream Discovery Service (UDS). -type UdsOptions struct { - Enabled *bool `json:"enabled,omitempty" desc:"Enable upstream discovery service. Defaults to true."` - WatchLabels map[string]string `json:"watchLabels,omitempty" desc:"Map of labels to watch. Only services which match all of the selectors specified here will be discovered by UDS."` -} - -// Configuration options for the Function Discovery Service (FDS). -type FdsOptions struct { - GraphqlEnabled *bool `json:"graphqlEnabled,omitempty" desc:"Enable GraphQL schema generation on the function discovery service. Defaults to true."` -} - -type Gateway struct { - Enabled *bool `json:"enabled,omitempty" desc:"enable Gloo Edge API Gateway features"` - Validation GatewayValidation `json:"validation,omitempty" desc:"enable Validation Webhook on the Gateway. This will cause requests to modify Gateway-related Custom Resources to be validated by the Gateway."` - CertGenJob *CertGenJob `json:"certGenJob,omitempty" desc:"generate self-signed certs with this job to be used with the gateway validation webhook. this job will only run if validation is enabled for the gateway"` - RolloutJob *RolloutJob `json:"rolloutJob,omitempty" desc:"This job waits for the 'gloo' deployment to successfully roll out (if the validation webhook is enabled), and then applies the Gloo Edge custom resources."` - CleanupJob *CleanupJob `json:"cleanupJob,omitempty" desc:"This job cleans up resources that are not deleted by Helm when Gloo Edge is uninstalled."` - UpdateValues *bool `json:"updateValues,omitempty" desc:"if true, will use a provided helm helper 'gloo.updatevalues' to update values during template render - useful for plugins/extensions"` - ProxyServiceAccount ServiceAccount `json:"proxyServiceAccount,omitempty" ` - ReadGatewaysFromAllNamespaces *bool `json:"readGatewaysFromAllNamespaces,omitempty" desc:"if true, read Gateway custom resources from all watched namespaces rather than just the namespace of the Gateway controller"` - IsolateVirtualHostsBySslConfig *bool `json:"isolateVirtualHostsBySslConfig,omitempty" desc:"if true, Added support for the envoy.filters.listener.tls_inspector listener_filter when using the gateway.isolateVirtualHostsBySslConfig=true global setting."` - CompressedProxySpec *bool `json:"compressedProxySpec,omitempty" desc:"if true, enables compression for the Proxy CRD spec"` - PersistProxySpec *bool `json:"persistProxySpec,omitempty" desc:"Enable writing Proxy CRD to etcd. Disabled by default for performance."` - TranslateEmptyGateways *bool `json:"translateEmptyGateways,omitempty" desc:"If true, the gateways will be translated into Envoy listeners even if no VirtualServices exist."` - Service *KubeResourceOverride -} - -type ServiceAccount struct { - ExtraAnnotations map[string]string `json:"extraAnnotations,omitempty" desc:"extra annotations to add to the service account"` - DisableAutomount *bool `json:"disableAutomount,omitempty" desc:"disable automounting the service account to the gateway proxy. not mounting the token hardens the proxy container, but may interfere with service mesh integrations"` - *KubeResourceOverride -} - -type GatewayValidation struct { - Enabled *bool `json:"enabled,omitempty" desc:"enable Gloo Edge API Gateway validation hook (default true)"` - AlwaysAcceptResources *bool `json:"alwaysAcceptResources,omitempty" desc:"unless this is set this to false in order to ensure validation webhook rejects invalid resources. by default, validation webhook will only log and report metrics for invalid resource admission without rejecting them outright."` - AllowWarnings *bool `json:"allowWarnings,omitempty" desc:"set this to false in order to ensure validation webhook rejects resources that would have warning status or rejected status, rather than just rejected."` - WarnMissingTlsSecret *bool `json:"warnMissingTlsSecret,omitempty" desc:"set this to false in order to treat missing tls secret references as errors, causing validation to fail."` - ServerEnabled *bool `json:"serverEnabled,omitempty" desc:"By providing the validation field (parent of this object) the user is implicitly opting into validation. This field allows the user to opt out of the validation server, while still configuring pre-existing fields such as warn_route_short_circuiting and disable_transformation_validation."` - DisableTransformationValidation *bool `json:"disableTransformationValidation,omitempty" desc:"set this to true to disable transformation validation. This may bring significant performance benefits if using many transformations, at the cost of possibly incorrect transformations being sent to Envoy. When using this value make sure to pre-validate transformations."` - WarnRouteShortCircuiting *bool `json:"warnRouteShortCircuiting,omitempty" desc:"Write a warning to route resources if validation produced a route ordering warning (defaults to false). By setting to true, this means that Gloo Edge will start assigning warnings to resources that would result in route short-circuiting within a virtual host."` - SecretName *string `json:"secretName,omitempty" desc:"Name of the Kubernetes Secret containing TLS certificates used by the validation webhook server. This secret will be created by the certGen Job if the certGen Job is enabled."` - FailurePolicy *string `json:"failurePolicy,omitempty" desc:"Specify how to handle unrecognized errors for Gloo resources that are returned from the Gateway validation endpoint. Supported values are 'Ignore' or 'Fail'"` - KubeCoreFailurePolicy *string `json:"kubeCoreFailurePolicy,omitempty" desc:"Specify how to handle unrecognized errors for Kubernetes core resources that are returned by the Gateway validation endpoint. Currently the [validation webhook](https://github.com/kgateway-dev/kgateway/blob/main/install/helm/gloo/templates/5-gateway-validation-webhook-configuration.yaml) is configured to handle errors for Kubernetes secrets and namespaces. Supported values are 'Ignore' or 'Fail'. If you set this value to 'Fail', you cannot modify these core resources if the 'gloo' service is unavailable."` - Webhook *Webhook `json:"webhook,omitempty" desc:"webhook specific configuration"` - ValidationServerGrpcMaxSizeBytes *int `json:"validationServerGrpcMaxSizeBytes,omitempty" desc:"gRPC max message size in bytes for the gloo validation server"` - LivenessProbeEnabled *bool `json:"livenessProbeEnabled,omitempty" desc:"Set to true to enable a liveness probe for the gateway (default is false). You must also set the 'Probes' value to true."` - FullEnvoyValidation *bool `json:"fullEnvoyValidation,omitempty" desc:"enable feature which validates all final translated config against envoy Validate mode"` -} - -type Webhook struct { - Enabled *bool `json:"enabled,omitempty" desc:"enable validation webhook (default true)"` - DisableHelmHook *bool `json:"disableHelmHook,omitempty" desc:"do not create the webhook as helm hook (default false)"` - TimeoutSeconds *int `json:"timeoutSeconds,omitempty" desc:"the timeout for the webhook, defaults to 10"` - ExtraAnnotations map[string]string `json:"extraAnnotations,omitempty" desc:"extra annotations to add to the webhook"` - SkipDeleteValidationResources []string `json:"skipDeleteValidationResources,omitempty" desc:"resource types in this list will not use webhook valdaition for DELETEs. Use '*' to skip validation for all resources. Valid values are 'virtualservices', 'routetables','upstreams', 'secrets', 'ratelimitconfigs', and '*'. Invalid values will be accepted but will not be used."` - // EnablePolicyApi provides granular access to users to opt-out of Policy validation - // There are some known race conditions in our Gloo Gateway processes resource references, - // even when allowWarnings=true: https://github.com/solo-io/solo-projects/issues/6321 - // As a result, this is intended as a short-term solution to provide users a way to opt-out of Policy API validation. - // The desired long-term strategy is that our validation logic is stable, and users can leverage it - EnablePolicyApi *bool `json:"enablePolicyApi,omitempty" desc:"enable validation of Policy Api resources (RouteOptions, VirtualHostOptions) (default: true). NOTE: This only applies if the Kubernetes Gateway Integration is also enabled (kubeGateway.enabled)."` - *KubeResourceOverride -} - -type Job struct { - Image *Image `json:"image,omitempty"` - *JobSpec - KubeResourceOverride map[string]interface{} `json:"kubeResourceOverride,omitempty" desc:"override fields in the gateway-certgen job."` - MtlsKubeResourceOverride map[string]interface{} `json:"mtlsKubeResourceOverride,omitempty" desc:"override fields in the gloo-mtls-certgen job."` -} - -type CertGenJob struct { - Job - Enabled *bool `json:"enabled,omitempty" desc:"enable the job that generates the certificates for the validating webhook at install time (default true)"` - SetTtlAfterFinished *bool `json:"setTtlAfterFinished,omitempty" desc:"Set ttlSecondsAfterFinished on the job. Defaults to true"` - FloatingUserId *bool `json:"floatingUserId,omitempty" desc:"If true, allows the cluster to dynamically assign a user ID for the processes running in the container."` - ForceRotation *bool `json:"forceRotation,omitempty" desc:"If true, will create new certs even if the old one are still valid."` - RotationDuration *string `json:"rotationDuration,omitempty" desc:"Time duration string indicating the (environment-specific) expected time for all pods to pick up a secret update via SDS. This is only applicable to the mTLS certgen job and cron job. If this duration is too short, secret changes may not have time to propagate to all pods, and some requests may be dropped during cert rotation. Since we do 2 secret updates during a cert rotation, the certgen job is expected to run for at least twice this amount of time. If activeDeadlineSeconds is set on the job, make sure it is at least twice as long as the rotation duration, otherwise the certgen job might time out."` - RunAsUser *float64 `json:"runAsUser,omitempty" desc:"Explicitly set the user ID for the processes in the container to run as. Default is 10101."` - Resources *ResourceRequirements `json:"resources,omitempty"` - RunOnUpdate *bool `json:"runOnUpdate,omitempty" desc:"enable to run the job also on pre-upgrade"` - Cron *CertGenCron `json:"cron,omitempty" desc:"CronJob parameters"` -} - -type RolloutJob struct { - *JobSpec - Enabled *bool `json:"enabled,omitempty" desc:"Enable the job that applies default Gloo Edge custom resources at install and upgrade time (default true)."` - Image *Image `json:"image,omitempty"` - Resources *ResourceRequirements `json:"resources,omitempty"` - FloatingUserId *bool `json:"floatingUserId,omitempty" desc:"If true, allows the cluster to dynamically assign a user ID for the processes running in the container."` - RunAsUser *float64 `json:"runAsUser,omitempty" desc:"Explicitly set the user ID for the processes in the container to run as. Default is 10101."` - Timeout *int `json:"timeout,omitempty" desc:"Time to wait in seconds until the job has completed. If it exceeds this limit, it is deemed to have failed. Defaults to 120"` -} - -type CleanupJob struct { - *JobSpec - Enabled *bool `json:"enabled,omitempty" desc:"Enable the job that removes Gloo Edge custom resources when Gloo Edge is uninstalled (default true)."` - Image *Image `json:"image,omitempty"` - Resources *ResourceRequirements `json:"resources,omitempty"` - FloatingUserId *bool `json:"floatingUserId,omitempty" desc:"If true, allows the cluster to dynamically assign a user ID for the processes running in the container."` - RunAsUser *float64 `json:"runAsUser,omitempty" desc:"Explicitly set the user ID for the processes in the container to run as. Default is 10101."` -} - -/* -Scheduling: -┌───────────── minute (0 - 59) -│ ┌───────────── hour (0 - 23) -│ │ ┌───────────── day of the month (1 - 31) -│ │ │ ┌───────────── month (1 - 12) -│ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday; -│ │ │ │ │ 7 is also Sunday on some systems) -│ │ │ │ │ -│ │ │ │ │ -* * * * * -*/ -type CertGenCron struct { - Enabled *bool `json:"enabled,omitempty" desc:"enable the cronjob"` - Schedule *string `json:"schedule,omitempty" desc:"Cron job scheduling"` - MtlsKubeResourceOverride map[string]interface{} `json:"mtlsKubeResourceOverride,omitempty" desc:"override fields in the gloo-mtls-certgen cronjob."` - ValidationWebhookKubeResourceOverride map[string]interface{} `json:"validationWebhookKubeResourceOverride,omitempty" desc:"override fields in the gateway-certgen cronjob."` -} - -type GatewayProxy struct { - Kind *GatewayProxyKind `json:"kind,omitempty" desc:"value to determine how the gateway proxy is deployed"` - Namespace *string `json:"namespace,omitempty" desc:"Namespace in which to deploy this gateway proxy. Defaults to the value of Settings.WriteNamespace"` - PodTemplate *GatewayProxyPodTemplate `json:"podTemplate,omitempty" desc:"The template used to generate the gateway proxy pod"` - ConfigMap *ConfigMap `json:"configMap,omitempty"` - CustomStaticLayer interface{} `json:"customStaticLayer,omitempty" desc:"Configure the static layer for global overrides to Envoy behavior, as defined in the Envoy bootstrap YAML. You cannot use this setting to set overload or upstream layers. For more info, see the Envoy docs. https://www.envoyproxy.io/docs/envoy/latest/configuration/operations/runtime#config-runtime"` - GlobalDownstreamMaxConnections *uint32 `json:"globalDownstreamMaxConnections,omitempty" desc:"the number of concurrent connections needed. limit used to protect against exhausting file descriptors on host machine"` - HealthyPanicThreshold *int8 `json:"healthyPanicThreshold,omitempty" desc:"the percentage of healthy hosts required to load balance based on health status of hosts"` - Service *GatewayProxyService `json:"service,omitempty"` - AntiAffinity *bool `json:"antiAffinity,omitempty" desc:"configure anti affinity such that pods are preferably not co-located"` - Affinity map[string]interface{} `json:"affinity,omitempty"` - TopologySpreadConstraints []interface{} `json:"topologySpreadConstraints,omitempty" desc:"configure topologySpreadConstraints for gateway proxy pods"` - Tracing *Tracing `json:"tracing,omitempty"` - GatewaySettings *GatewayProxyGatewaySettings `json:"gatewaySettings,omitempty" desc:"settings for the helm generated gateways, leave nil to not render"` - ExtraEnvoyArgs []string `json:"extraEnvoyArgs,omitempty" desc:"Envoy container args, (e.g. https://www.envoyproxy.io/docs/envoy/latest/operations/cli)"` - ExtraContainersHelper *string `json:"extraContainersHelper,omitempty"` - ExtraInitContainersHelper *string `json:"extraInitContainersHelper,omitempty"` - ExtraVolumes []map[string]interface{} `json:"extraVolumes,omitempty"` - ExtraVolumeHelper *string `json:"extraVolumeHelper,omitempty"` - ExtraListenersHelper *string `json:"extraListenersHelper,omitempty"` - Stats *Stats `json:"stats,omitempty" desc:"overrides for prometheus stats published by the gateway-proxy pod"` - ReadConfig *bool `json:"readConfig,omitempty" desc:"expose a read-only subset of the Envoy admin api"` - ReadConfigMulticluster *bool `json:"readConfigMulticluster,omitempty" desc:"expose a read-only subset of the Envoy admin api to gloo-fed"` - ExtraProxyVolumeMounts []map[string]interface{} `json:"extraProxyVolumeMounts,omitempty"` - ExtraProxyVolumeMountHelper *string `json:"extraProxyVolumeMountHelper,omitempty" desc:"name of custom made named template allowing for extra volume mounts on the proxy container"` - LoopBackAddress *string `json:"loopBackAddress,omitempty" desc:"Name on which to bind the loop-back interface for this instance of Envoy. Defaults to 127.0.0.1, but other common values may be localhost or ::1"` - Failover Failover `json:"failover,omitempty" desc:"(Enterprise Only): Failover configuration"` - Disabled *bool `json:"disabled,omitempty" desc:"Skips creation of this gateway proxy. Used to turn off gateway proxies created by preceding configurations"` - EnvoyApiVersion *string `json:"envoyApiVersion,omitempty" desc:"Version of the Envoy API to use for the xDS transport and resources. Default is V3"` - EnvoyBootstrapExtensions []map[string]interface{} `json:"envoyBootstrapExtensions,omitempty" desc:"List of bootstrap extensions to add to Envoy bootstrap config. Examples include Wasm Service (https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/wasm/v3/wasm.proto#extensions-wasm-v3-wasmservice)."` - EnvoyOverloadManager map[string]interface{} `json:"envoyOverloadManager,omitempty" desc:"Overload Manager definition for Envoy bootstrap config. If enabled, a list of Resource Monitors MUST be defined in order to produce a valid Envoy config (https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/overload/v3/overload.proto#overload-manager)."` - EnvoyStaticClusters []map[string]interface{} `json:"envoyStaticClusters,omitempty" desc:"List of extra static clusters to be added to Envoy bootstrap config. https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/cluster/v3/cluster.proto#envoy-v3-api-msg-config-cluster-v3-cluster"` - HorizontalPodAutoscaler *HorizontalPodAutoscaler `json:"horizontalPodAutoscaler,omitempty" desc:"HorizontalPodAutoscaler for the GatewayProxy. Used only when Kind is set to Deployment. Resources must be set on the gateway-proxy deployment for HorizontalPodAutoscalers to function correctly"` - PodDisruptionBudget *PodDisruptionBudgetWithOverride `json:"podDisruptionBudget,omitempty" desc:"PodDisruptionBudget is an object to define the max disruption that can be caused to the gate-proxy pods"` - IstioMetaMeshId *string `json:"istioMetaMeshId,omitempty" desc:"ISTIO_META_MESH_ID Environment Variable. Defaults to \"cluster.local\""` - IstioMetaClusterId *string `json:"istioMetaClusterId,omitempty" desc:"ISTIO_META_CLUSTER_ID Environment Variable. Defaults to \"Kubernetes\""` - IstioDiscoveryAddress *string `json:"istioDiscoveryAddress,omitempty" desc:"discoveryAddress field of the PROXY_CONFIG environment variable. Defaults to \"istiod.istio-system.svc:15012\""` - IstioSpiffeCertProviderAddress *string `json:"istioSpiffeCertProviderAddress,omitempty" desc:"Address of the spiffe certificate provider. Defaults to istioDiscoveryAddress"` - EnvoyLogLevel *string `json:"envoyLogLevel,omitempty" desc:"Level at which the pod should log. Options include \"trace\", \"info\", \"debug\", \"warn\", \"error\", \"critical\" and \"off\". Default level is info"` - EnvoyStatsConfig map[string]interface{} `json:"envoyStatsConfig,omitempty" desc:"Envoy statistics configuration, such as tagging. For more info, see https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/metrics/v3/stats.proto#config-metrics-v3-statsconfig"` - XdsServiceAddress *string `json:"xdsServiceAddress,omitempty" desc:"The k8s service name for the xds server. Defaults to gloo."` - XdsServicePort *uint32 `json:"xdsServicePort,omitempty" desc:"The k8s service port for the xds server. Defaults to the value from .Values.gloo.deployment.xdsPort, but can be overridden to use, for example, xds-relay."` - TcpKeepaliveTimeSeconds *uint32 `json:"tcpKeepaliveTimeSeconds,omitempty" desc:"The amount of time in seconds for connections to be idle before sending keep-alive probes. Defaults to 60. See here: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/address.proto#envoy-v3-api-msg-config-core-v3-tcpkeepalive"` - DisableCoreDumps *bool `json:"disableCoreDumps,omitempty" desc:"If set to true, Envoy will not generate core dumps in the event of a crash. Defaults to false"` - DisableExtauthSidecar *bool `json:"disableExtauthSidecar,omitempty" desc:"If set to true, this gateway proxy will not come up with an extauth sidecar container when global.extAuth.envoySidecar is enabled. This setting has no effect otherwise. Defaults to false"` - *KubeResourceOverride -} - -type GatewayProxyGatewaySettings struct { - Enabled *bool `json:"enabled,omitempty" desc:"enable/disable default gateways"` - DisableGeneratedGateways *bool `json:"disableGeneratedGateways,omitempty" desc:"set to true to disable the gateway generation for a gateway proxy"` - DisableHttpGateway *bool `json:"disableHttpGateway,omitempty" desc:"Set to true to disable http gateway generation."` - DisableHttpsGateway *bool `json:"disableHttpsGateway,omitempty" desc:"Set to true to disable https gateway generation."` - IPv4Only *bool `json:"ipv4Only,omitempty" desc:"set to true if your network allows ipv4 addresses only. Sets the Gateway spec's bindAddress to 0.0.0.0 instead of ::"` - UseProxyProto *bool `json:"useProxyProto,omitempty" desc:"use proxy protocol"` - HttpHybridGateway map[string]interface{} `json:"httpHybridGateway,omitempty" desc:"custom yaml to use for hybrid gateway settings for the http gateway"` - HttpsHybridGateway map[string]interface{} `json:"httpsHybridGateway,omitempty" desc:"custom yaml to use for hybrid gateway settings for the https gateway"` - CustomHttpGateway map[string]interface{} `json:"customHttpGateway,omitempty" desc:"custom yaml to use for http gateway settings"` - CustomHttpsGateway map[string]interface{} `json:"customHttpsGateway,omitempty" desc:"custom yaml to use for https gateway settings"` - AccessLoggingService map[string]interface{} `json:"accessLoggingService,omitempty" desc:"custom yaml to use for access logging service (https://docs.solo.io/gloo-edge/latest/reference/api/github.com/kgateway-dev/kgateway/projects/gloo/api/v1/options/als/als.proto.sk/)"` - GatewayOptions map[string]interface{} `json:"options,omitempty" desc:"custom options for http(s) gateways (https://docs.solo.io/gloo-edge/latest/reference/api/github.com/kgateway-dev/kgateway/projects/gloo/api/v1/options.proto.sk/#listeneroptions)"` - HttpGatewayKubeOverride map[string]interface{} `json:"httpGatewayKubeOverride,omitempty"` - HttpsGatewayKubeOverride map[string]interface{} `json:"httpsGatewayKubeOverride,omitempty"` - *KubeResourceOverride -} - -type GatewayProxyKind struct { - Deployment *GatewayProxyDeployment `json:"deployment,omitempty" desc:"set to deploy as a kubernetes deployment, otherwise nil"` - DaemonSet *DaemonSetSpec `json:"daemonSet,omitempty" desc:"set to deploy as a kubernetes daemonset, otherwise nil"` -} -type GatewayProxyDeployment struct { - *DeploymentSpecSansResources - *KubeResourceOverride -} - -type HorizontalPodAutoscaler struct { - ApiVersion *string `json:"apiVersion,omitempty" desc:"accepts autoscaling/v1, autoscaling/v2beta2 or autoscaling/v2. Note: autoscaling/v2beta2 is deprecated as of Kubernetes 1.26."` - MinReplicas *int32 `json:"minReplicas,omitempty" desc:"minReplicas is the lower limit for the number of replicas to which the autoscaler can scale down."` - MaxReplicas *int32 `json:"maxReplicas,omitempty" desc:"maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale up. It cannot be less that minReplicas."` - TargetCPUUtilizationPercentage *int32 `json:"targetCPUUtilizationPercentage,omitempty" desc:"target average CPU utilization (represented as a percentage of requested CPU) over all the pods. Used only with apiVersion autoscaling/v1"` - Metrics []map[string]interface{} `json:"metrics,omitempty" desc:"metrics contains the specifications for which to use to calculate the desired replica count (the maximum replica count across all metrics will be used). Used only with apiVersion autoscaling/v2beta2"` - Behavior map[string]interface{} `json:"behavior,omitempty" desc:"behavior configures the scaling behavior of the target in both Up and Down directions (scaleUp and scaleDown fields respectively). Used only with apiVersion autoscaling/v2beta2"` - *KubeResourceOverride -} - -type PodDisruptionBudget struct { - MinAvailable *string `json:"minAvailable,omitempty" desc:"Corresponds directly with the _minAvailable_ field in the [PodDisruptionBudgetSpec](https://kubernetes.io/docs/reference/kubernetes-api/policy-resources/pod-disruption-budget-v1/#PodDisruptionBudgetSpec). This value is mutually exclusive with _maxUnavailable_."` - MaxUnavailable *string `json:"maxUnavailable,omitempty" desc:"Corresponds directly with the _maxUnavailable_ field in the [PodDisruptionBudgetSpec](https://kubernetes.io/docs/reference/kubernetes-api/policy-resources/pod-disruption-budget-v1/#PodDisruptionBudgetSpec). This value is mutually exclusive with _minAvailable_."` -} - -type PodDisruptionBudgetWithOverride struct { - *PodDisruptionBudget - *KubeResourceOverride -} - -type DaemonSetSpec struct { - HostPort *bool `json:"hostPort,omitempty" desc:"whether or not to enable host networking on the pod. Only relevant when running as a DaemonSet"` - HostNetwork *bool `json:"hostNetwork,omitempty"` -} - -// GatewayProxyPodTemplate contains the Helm API available to configure the PodTemplate on the gateway-proxy Deployment -// -// Note to Developers: The Helm API for the PodTemplate is split between the values defined in this struct, and the values -// in the PodSpec, which is available for a GatewayProxy under `gatewayProxy.kind.Deployment`. -// The side effect of this, is that there may be Helm values which may live on both structs, but only one is used by our templates. -// Always refer back to the Helm templates to see which is used. -type GatewayProxyPodTemplate struct { - HttpPort *int `json:"httpPort,omitempty" desc:"HTTP port for the gateway service target port."` - HttpsPort *int `json:"httpsPort,omitempty" desc:"HTTPS port for the gateway service target port."` - ExtraPorts []interface{} `json:"extraPorts,omitempty" desc:"extra ports for the gateway pod."` - ExtraAnnotations map[string]string `json:"extraAnnotations,omitempty" desc:"extra annotations to add to the pod."` - NodeName *string `json:"nodeName,omitempty" desc:"name of node to run on."` - NodeSelector map[string]string `json:"nodeSelector,omitempty" desc:"label selector for nodes."` - Tolerations []*corev1.Toleration `json:"tolerations,omitempty"` - Probes *bool `json:"probes,omitempty" desc:"Set to true to enable a readiness probe (default is false). Then, you can also enable a liveness probe."` - LivenessProbeEnabled *bool `json:"livenessProbeEnabled,omitempty" desc:"Set to true to enable a liveness probe (default is false)."` - Resources *ResourceRequirements `json:"resources,omitempty"` - DisableNetBind *bool `json:"disableNetBind,omitempty" desc:"don't add the NET_BIND_SERVICE capability to the pod. This means that the gateway proxy will not be able to bind to ports below 1024. If podSecurityContext is defined, this value is not applied."` - RunUnprivileged *bool `json:"runUnprivileged,omitempty" desc:"run Envoy as an unprivileged user. If a SecurityContext is defined for the pod or container, this value is not applied for the pod/container."` - FloatingUserId *bool `json:"floatingUserId,omitempty" desc:"If true, allows the cluster to dynamically assign a user ID for the processes running in the container. If podSecurityContext is defined, this value is not applied."` - RunAsUser *float64 `json:"runAsUser,omitempty" desc:"Explicitly set the user ID for the processes in the container to run as. Default is 10101. If a SecurityContext is defined for the pod or container, this value is not applied for the pod/container."` - FsGroup *float64 `json:"fsGroup,omitempty" desc:"Explicitly set the group ID for volume ownership. Default is 10101. If podSecurityContext is defined, this value is not applied."` - GracefulShutdown *GracefulShutdownSpec `json:"gracefulShutdown,omitempty" desc:"If enabled, it calls the /'healthcheck/fail' endpoint on the envoy container prior to shutdown. This is useful for draining a server prior to shutting it down or doing a full"` - TerminationGracePeriodSeconds *int `json:"terminationGracePeriodSeconds,omitempty" desc:"Time in seconds to wait for the pod to terminate gracefully. See [kubernetes docs](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#istio-lifecycle) for more info."` - CustomReadinessProbe *corev1.Probe `json:"customReadinessProbe,omitempty"` - CustomLivenessProbe *corev1.Probe `json:"customLivenessProbe,omitempty"` - ExtraGatewayProxyLabels map[string]string `json:"extraGatewayProxyLabels,omitempty" desc:"Optional extra key-value pairs to add to the spec.template.metadata.labels data of the gloo edge gateway-proxy deployment."` - ExtraContainers []interface{} `json:"extraContainers,omitempty" desc:"Extra [containers](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#containers) to be added to the array of containers on the gateway proxy deployment."` - ExtraInitContainers []interface{} `json:"extraInitContainers,omitempty" desc:"Extra [initContainers](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#containers) to be added to the array of initContainers on the gateway proxy deployment."` - EnablePodSecurityContext *bool `json:"enablePodSecurityContext,omitempty" desc:"Whether or not to render the pod security context. Default is true."` - PodSecurityContext *PodSecurityContext `json:"podSecurityContext,omitempty" desc:"podSecurityContext for the gateway proxy deployment. If this is defined it supercedes any values set in FloatingUserId, RunAsUser, or FsGroup. See [pod security context](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#podsecuritycontext-v1-core) for details."` - *GlooDeploymentContainer -} - -type GracefulShutdownSpec struct { - Enabled *bool `json:"enabled,omitempty" desc:"Enable grace period before shutdown to finish current requests while Envoy health checks fail to e.g. notify external load balancers. *NOTE:* This will not have any effect if you have not defined health checks via the health check filter"` - SleepTimeSeconds *int `json:"sleepTimeSeconds,omitempty" desc:"Time (in seconds) for the preStop hook to wait before allowing Envoy to terminate"` -} - -type GatewayProxyService struct { - Type *string "json:\"type,omitempty\" desc:\"gateway [service type](https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types). default is `LoadBalancer`\"" - HttpPort *int `json:"httpPort,omitempty" desc:"HTTP port for the gateway service"` - HttpsPort *int `json:"httpsPort,omitempty" desc:"HTTPS port for the gateway service"` - HttpNodePort *int `json:"httpNodePort,omitempty" desc:"HTTP nodeport for the gateway service if using type NodePort"` - HttpsNodePort *int `json:"httpsNodePort,omitempty" desc:"HTTPS nodeport for the gateway service if using type NodePort"` - ClusterIP *string "json:\"clusterIP,omitempty\" desc:\"static clusterIP (or `None`) when `gatewayProxies[].gatewayProxy.service.type` is `ClusterIP`\"" - ExtraAnnotations map[string]string `json:"extraAnnotations,omitempty"` - ExternalTrafficPolicy *string `json:"externalTrafficPolicy,omitempty"` - Name *string `json:"name,omitempty" desc:"Custom name override for the service resource of the proxy"` - HttpsFirst *bool `json:"httpsFirst,omitempty" desc:"List HTTPS port before HTTP"` - LoadBalancerIP *string `json:"loadBalancerIP,omitempty" desc:"IP address of the load balancer"` - LoadBalancerSourceRanges []string `json:"loadBalancerSourceRanges,omitempty" desc:"List of IP CIDR ranges that are allowed to access the load balancer"` - CustomPorts []interface{} `json:"customPorts,omitempty" desc:"List of custom port to expose in the Envoy proxy. Each element follows conventional port syntax (port, targetPort, protocol, name)"` - ExternalIPs []string `json:"externalIPs,omitempty" desc:"externalIPs is a list of IP addresses for which nodes in the cluster will also accept traffic for this service"` - ConfigDumpService *KubeResourceOverride `json:"configDumpService,omitempty" desc:"kube resource override for gateway proxy config dump service"` - *KubeResourceOverride -} - -type Tracing struct { - Provider map[string]interface{} `json:"provider,omitempty"` - Cluster []map[string]interface{} `json:"cluster,omitempty"` -} - -type Failover struct { - Enabled *bool `json:"enabled,omitempty" desc:"(Enterprise Only): Configure this proxy for failover"` - Port *uint `json:"port,omitempty" desc:"(Enterprise Only): Port to use for failover Gateway Bind port, and service. Default is 15443"` - NodePort *uint `json:"nodePort,omitempty" desc:"(Enterprise Only): Optional NodePort for failover Service"` - SecretName *string `json:"secretName,omitempty" desc:"(Enterprise Only): Secret containing downstream Ssl Secrets Default is failover-downstream"` - *KubeResourceOverride -} - -type ServiceSpec struct { - Service *Service `json:"service,omitempty" desc:"K8s service configuration"` -} - -type Service struct { - Type *string `json:"type,omitempty" desc:"K8s service type"` - ExtraAnnotations map[string]string `json:"extraAnnotations,omitempty" desc:"extra annotations to add to the service"` - LoadBalancerIP *string `json:"loadBalancerIP,omitempty" desc:"IP address of the load balancer"` - HttpPort *int `json:"httpPort,omitempty" desc:"HTTP port for the knative/ingress proxy service"` - HttpsPort *int `json:"httpsPort,omitempty" desc:"HTTPS port for the knative/ingress proxy service"` - *KubeResourceOverride -} - -type GlobalConfigMap struct { - Name *string `json:"name,omitempty" desc:"Name of the ConfigMap to create (required)."` - Namespace *string `json:"namespace,omitempty" desc:"Namespace in which to create the ConfigMap. If empty, defaults to Gloo Edge install namespace."` - Data map[string]string `json:"data,omitempty" desc:"Key-value pairs of ConfigMap data."` -} - -type ConfigMap struct { - Data map[string]string `json:"data,omitempty"` - *KubeResourceOverride -} - -type K8s struct { - ClusterName *string `json:"clusterName,omitempty" desc:"cluster name to use when referencing services."` -} - -type Stats struct { - Enabled *bool `json:"enabled,omitempty" desc:"Controls whether or not Envoy stats are enabled"` - RoutePrefixRewrite *string `json:"routePrefixRewrite,omitempty" desc:"The Envoy stats endpoint to which the metrics are written"` - SetDatadogAnnotations *bool `json:"setDatadogAnnotations,omitempty" desc:"Sets the default datadog annotations"` - EnableStatsRoute *bool `json:"enableStatsRoute,omitempty" desc:"Enables an additional route to the stats cluster defaulting to /stats"` - StatsPrefixRewrite *string `json:"statsPrefixRewrite,omitempty" desc:"The Envoy stats endpoint with general metrics for the additional stats route"` - ServiceMonitorEnabled *bool `json:"serviceMonitorEnabled,omitempty" desc:"Whether or not to expose an http-monitoring port that can be scraped by a Prometheus Service Monitor. Requires that 'enabled' is also true"` - PodMonitorEnabled *bool `json:"podMonitorEnabled,omitempty" desc:"Whether or not to expose an http-monitoring port that can be scraped by a Prometheus Pod Monitor. Requires that 'enabled' is also true"` -} - -type Mtls struct { - Enabled *bool `json:"enabled,omitempty" desc:"Enables internal mtls authentication"` - Sds SdsContainer `json:"sds,omitempty"` - EnvoySidecar EnvoySidecarContainer `json:"envoy,omitempty"` - IstioProxy IstioProxyContainer `json:"istioProxy,omitempty" desc:"Istio-proxy container"` - EnvoySidecarResources *ResourceRequirements `json:"envoySidecarResources,omitempty" desc:"Sets default resource requirements for all Envoy sidecar containers."` - SdsResources *ResourceRequirements `json:"sdsResources,omitempty" desc:"Sets default resource requirements for all sds containers."` -} - -type EnvoyContainer struct { - Image *Image `json:"image,omitempty"` - SecurityContext *GatewayParamsSecurityContext `json:"securityContext,omitempty" desc:"securityContext for envoy proxy container."` - Resources *ResourceRequirements `json:"resources,omitempty" desc:"Resource requirements for envoy proxy container."` -} - -type SdsContainer struct { - Image *Image `json:"image,omitempty"` - SecurityContext *SecurityContext `json:"securityContext,omitempty" desc:"securityContext for sds gloo deployment container. If this is defined it supersedes any values set in FloatingUserId, RunAsUser, DisableNetBind, RunUnprivileged. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#securitycontext-v1-core for details."` - LogLevel *string `json:"logLevel,omitempty" desc:"Log level for sds. Options include \"info\", \"debug\", \"warn\", \"error\", \"panic\" and \"fatal\". Default level is info."` - Resources *ResourceRequirements `json:"sdsResources,omitempty" desc:"Sets default resource requirements for all sds containers."` -} - -type GatewayParamsSdsContainer struct { - Image *Image `json:"image,omitempty"` - SecurityContext *GatewayParamsSecurityContext `json:"securityContext,omitempty" desc:"securityContext for sds gloo deployment container. If this is defined it supersedes any values set in FloatingUserId, RunAsUser, DisableNetBind, RunUnprivileged. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#securitycontext-v1-core for details."` - LogLevel *string `json:"logLevel,omitempty" desc:"Log level for sds. Options include \"info\", \"debug\", \"warn\", \"error\", \"panic\" and \"fatal\". Default level is info."` - Resources *ResourceRequirements `json:"sdsResources,omitempty" desc:"Sets default resource requirements for all sds containers."` -} - -type EnvoySidecarContainer struct { - Image *Image `json:"image,omitempty"` - SecurityContext *SecurityContext `json:"securityContext,omitempty" desc:"securityContext for envoy-sidecar gloo deployment container. If this is defined it supercedes any values set in FloatingUserId, RunAsUser, DisableNetBind, RunUnprivileged. See [security context](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#securitycontext-v1-core) for details."` -} - -type IstioProxyContainer struct { - Image *Image `json:"image,omitempty" desc:"Istio-proxy image to use for mTLS"` - SecurityContext *SecurityContext `json:"securityContext,omitempty" desc:"securityContext for istio-proxy deployment container. If this is defined it supercedes any values set in FloatingUserId, RunAsUser, DisableNetBind, RunUnprivileged. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#securitycontext-v1-core for details."` - LogLevel *string `json:"logLevel,omitempty" desc:"Log level for istio-proxy. Options include \"info\", \"debug\", \"warning\", and \"error\". Default level is info Default is 'warning'."` - - // TODO(npolshak): Deprecate GatewayProxy IstioMetaMeshId/IstioMetaClusterId/IstioDiscoveryAddress in favor of IstioProxyContainer - // Note: these are only supported for k8s Gateway API. - IstioMetaMeshId *string `json:"istioMetaMeshId,omitempty" desc:"ISTIO_META_MESH_ID Environment Variable. Warning: this value is only supported with Kubernetes Gateway API proxy. Defaults to \"cluster.local\""` - IstioMetaClusterId *string `json:"istioMetaClusterId,omitempty" desc:"ISTIO_META_CLUSTER_ID Environment Variable. Warning: this value is only supported with Kubernetes Gateway API proxy. Defaults to \"Kubernetes\""` - IstioDiscoveryAddress *string `json:"istioDiscoveryAddress,omitempty" desc:"discoveryAddress field of the PROXY_CONFIG environment variable. Warning: this value is only supported with Kubernetes Gateway API proxy. Defaults to \"istiod.istio-system.svc:15012\""` -} - -type GatewayParamsIstioProxyContainer struct { - Image *Image `json:"image,omitempty" desc:"Istio-proxy image to use for mTLS"` - SecurityContext *GatewayParamsSecurityContext `json:"securityContext,omitempty" desc:"securityContext for istio-proxy deployment container. If this is defined it supercedes any values set in FloatingUserId, RunAsUser, DisableNetBind, RunUnprivileged. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#securitycontext-v1-core for details."` - LogLevel *string `json:"logLevel,omitempty" desc:"Log level for istio-proxy. Options include \"info\", \"debug\", \"warning\", and \"error\". Default level is info Default is 'warning'."` - - // TODO(npolshak): Deprecate GatewayProxy IstioMetaMeshId/IstioMetaClusterId/IstioDiscoveryAddress in favor of IstioProxyContainer - // Note: these are only supported for k8s Gateway API. - IstioMetaMeshId *string `json:"istioMetaMeshId,omitempty" desc:"ISTIO_META_MESH_ID Environment Variable. Warning: this value is only supported with Kubernetes Gateway API proxy. Defaults to \"cluster.local\""` - IstioMetaClusterId *string `json:"istioMetaClusterId,omitempty" desc:"ISTIO_META_CLUSTER_ID Environment Variable. Warning: this value is only supported with Kubernetes Gateway API proxy. Defaults to \"Kubernetes\""` - IstioDiscoveryAddress *string `json:"istioDiscoveryAddress,omitempty" desc:"discoveryAddress field of the PROXY_CONFIG environment variable. Warning: this value is only supported with Kubernetes Gateway API proxy. Defaults to \"istiod.istio-system.svc:15012\""` -} - -type IstioSDS struct { - // NOTE: IstioSDS.Enabled is deprecated. Use IstioIntegration.Enabled instead. - Enabled *bool `json:"enabled,omitempty" desc:"Enables SDS cert-rotator sidecar for istio mTLS cert rotation. Warning: this value is deprecated and will be removed in a future release. Use global.istioIntegration.enabled instead."` - CustomSidecars []interface{} `json:"customSidecars,omitempty" desc:"Override the default Istio sidecar in gateway-proxy with a custom container. Ignored if IstioSDS.enabled is false"` -} - -type IstioIntegration struct { - Enabled *bool `json:"enabled,omitempty" desc:"Enables Istio integration for Gloo Edge, adding the sds and istio-proxy containers to gateways for Istio mTLS cert rotation."` - EnableAutoMtls *bool `json:"enableAutoMtls,omitempty" desc:"Enables Istio auto mtls configuration for Gloo Edge upstreams."` - DisableAutoinjection *bool `json:"disableAutoinjection,omitempty" desc:"Annotate all pods (excluding those whitelisted by other config values) to with an explicit 'do not inject' annotation to prevent Istio from adding sidecars to all pods. It's recommended that this be set to true, as some pods do not immediately work with an Istio sidecar without extra manual configuration. Warning: this value is not supported with Kubernetes Gateway API proxy. "` - - // NOTE: these fields are deprecated and will be removed in a future release and are not supported with Kubernetes Gateway API. - LabelInstallNamespace *bool `json:"labelInstallNamespace,omitempty" desc:"Warning: This value is deprecated and will be removed in a future release. Also, you cannot use this value with a Kubernetes Gateway API proxy. If creating a namespace for Gloo, include the 'istio-injection: enabled' label (or 'istio.io/rev=' if 'istioSidecarRevTag' field is also set) to allow Istio sidecar injection for Gloo pods. Be aware that Istio's default injection behavior will auto-inject a sidecar into all pods in such a marked namespace. Disabling this behavior in Istio's configs or using gloo's global.istioIntegration.disableAutoinjection flag is recommended."` - WhitelistDiscovery *bool `json:"whitelistDiscovery,omitempty" desc:"Warning: This value is deprecated and will be removed in a future release. Also, you cannot use this value with a Kubernetes Gateway API proxy. Annotate the discovery pod for Istio sidecar injection to ensure that it gets a sidecar even when namespace-wide auto-injection is disabled. Generally only needed for FDS is enabled."` - EnableIstioSidecarOnGateway *bool `json:"enableIstioSidecarOnGateway,omitempty" desc:"Warning: This value is deprecated and will be removed in a future release. Also, you cannot use this value with a Kubernetes Gateway API proxy. Enable Istio sidecar injection on the gateway-proxy deployment. Ignored if LabelInstallNamespace is not 'true'. Ignored if disableAutoinjection is 'true'."` - IstioSidecarRevTag *string `json:"istioSidecarRevTag,omitempty" desc:"Warning: This value is deprecated and will be removed in a future release. Also, you cannot use this value with a Kubernetes Gateway API proxy. Value of revision tag for Istio sidecar injection on the gateway-proxy and discovery deployments (when enabled with LabelInstallNamespace, WhitelistDiscovery or EnableIstioSidecarOnGateway). If set, applies the label 'istio.io/rev:' instead of 'sidecar.istio.io/inject' or 'istio-injection:enabled'. Ignored if disableAutoinjection is 'true'."` - AppendXForwardedHost *bool `json:"appendXForwardedHost,omitempty" desc:"Warning: This value is deprecated and will be removed in a future release. Also, you cannot use this value with a Kubernetes Gateway API proxy. Enable appending the X-Forwarded-Host header with the Istio-provided value. Default: true."` -} - -type GatewayParamsAIExtension struct { - Enabled *bool `json:"enabled,omitempty" desc:"Enable the AI extension"` - Image *Image `json:"image,omitempty" desc:"Container image for the extension"` - SecurityContext *GatewayParamsSecurityContext `json:"securityContext,omitempty" desc:"securityContext for extension container. If this is defined it supersedes any values set in FloatingUserId, RunAsUser, DisableNetBind, RunUnprivileged. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#securitycontext-v1-core for details."` - Resources *ResourceRequirements `json:"resources,omitempty" desc:"Sets default resource requirements for the extension."` - Env []*corev1.EnvVar `json:"env,omitempty" desc:"Container environment variables for the extension."` - Ports []*corev1.ContainerPort `json:"ports,omitempty" desc:"Container ports for the extension."` -} diff --git a/install/helm/gloo/templates/0-namespace.yaml b/install/helm/gloo/templates/0-namespace.yaml deleted file mode 100644 index ba293ac2fdc..00000000000 --- a/install/helm/gloo/templates/0-namespace.yaml +++ /dev/null @@ -1,18 +0,0 @@ -{{- if .Values.namespace.create -}} -apiVersion: v1 -kind: Namespace -metadata: - name: {{ .Release.Namespace }} - labels: -{{ include "gloo.labels" . | indent 4}} - {{- if .Values.global.istioIntegration.labelInstallNamespace }} - {{- if .Values.global.istioIntegration.istioSidecarRevTag }} - istio.io/rev: {{ .Values.global.istioIntegration.istioSidecarRevTag }} - {{- else }} - istio-injection: enabled - {{- end }} - {{- end}} - annotations: - "helm.sh/hook": pre-install - "helm.sh/hook-weight": "-1" # Ensure that this is always the first hook triggered -{{- end}} \ No newline at end of file diff --git a/install/helm/gloo/templates/1-gloo-deployment.yaml b/install/helm/gloo/templates/1-gloo-deployment.yaml deleted file mode 100644 index 0a9f666e6ac..00000000000 --- a/install/helm/gloo/templates/1-gloo-deployment.yaml +++ /dev/null @@ -1,282 +0,0 @@ -{{ define "gloo.deploymentSpec" }} -{{- $image := .Values.gloo.deployment.image }} -{{- $statsConfig := coalesce .Values.gloo.deployment.stats .Values.global.glooStats -}} -{{- if .Values.global }} -{{- $image = merge .Values.gloo.deployment.image .Values.global.image }} -{{- end }} -apiVersion: apps/v1 -kind: Deployment -metadata: - labels: -{{ include "gloo.labels" . | indent 4}} - gloo: gloo - name: gloo - namespace: {{ .Release.Namespace }} -spec: - replicas: {{ .Values.gloo.deployment.replicas }} - selector: - matchLabels: - gloo: gloo - template: - metadata: - labels: - gloo: gloo - {{- if .Values.gloo.deployment.extraGlooLabels }} - {{- range $key, $value := .Values.gloo.deployment.extraGlooLabels }} - {{ $key }}: {{ $value | quote }} - {{- end }} - {{- end }} - {{- if .Values.global.istioIntegration.disableAutoinjection }} - sidecar.istio.io/inject: "false" - {{- end }} - annotations: - {{- if $statsConfig.enabled }} - prometheus.io/path: /metrics - prometheus.io/port: "9091" - prometheus.io/scrape: "true" - gloo.solo.io/oss-image-tag: {{ .Values.gloo.deployment.ossImageTag }} - {{- end}} - {{- if .Values.gloo.deployment.extraGlooAnnotations }} - {{- range $key, $value := .Values.gloo.deployment.extraGlooAnnotations }} - {{ $key }}: {{ $value | quote }} - {{- end }} - {{- end }} - spec: -{{- $podSecCtx := dict -}} -{{- with .Values.gloo.deployment.podSecurityContext -}} - {{- $podSecCtx = . -}} -{{- end -}} -{{- if $podSecCtx -}} -{{- include "gloo.securityContext" (dict "values" $podSecCtx "globalSec" .Values.global.securitySettings) | indent 6 -}} -{{- end }} -{{- include "gloo.pullSecret" $image | nindent 6 -}} - serviceAccountName: gloo - {{- include "gloo.podSpecStandardFields" .Values.gloo.deployment | nindent 6 -}} - volumes: -{{- if .Values.global.glooMtls.enabled }} - - name: gloo-mtls-certs - secret: - defaultMode: 420 - secretName: gloo-mtls-certs - - name: envoy-sidecar-config - configMap: - name: envoy-sidecar-config -{{- end }} - - name: labels-volume - downwardAPI: - items: - - path: "labels" - fieldRef: - fieldPath: metadata.labels - containers: -{{- if .Values.global.glooMtls.enabled }} - {{- $sdsImage := merge .Values.global.glooMtls.sds.image .Values.global.image }} - {{- $envoyImage := merge .Values.global.glooMtls.envoy.image .Values.global.image}} - - env: - - name: ENVOY_SIDECAR - value: "true" - name: envoy-sidecar - image: {{ template "gloo.image" $envoyImage }} - imagePullPolicy: {{ $envoyImage.pullPolicy }} - {{- $securityDefaults := dict "runAsNonRoot" true }} - {{- if not .Values.gloo.deployment.floatingUserId }} - {{- $_ := set $securityDefaults "runAsUser" .Values.gloo.deployment.runAsUser }} - {{- end }} - {{- include "gloo.containerSecurityContext" (dict "values" .Values.global.glooMtls.envoy.securityContext "defaults" $securityDefaults "podSecurityStandards" .Values.global.podSecurityStandards "indent" 8 "globalSec" .Values.global.securitySettings) }} - ports: - - containerPort: {{ .Values.gloo.deployment.xdsPort }} - name: grpc-xds - protocol: TCP - - containerPort: {{ .Values.gloo.deployment.restXdsPort }} - name: rest-xds - protocol: TCP - readinessProbe: - tcpSocket: - port: {{ .Values.gloo.deployment.xdsPort }} - initialDelaySeconds: 3 - periodSeconds: 10 - failureThreshold: 3 -{{- if .Values.gloo.deployment.livenessProbeEnabled }} - livenessProbe: - httpGet: - path: /healthz - port: 8765 - initialDelaySeconds: 3 - periodSeconds: 10 - failureThreshold: 3 -{{- end}} - volumeMounts: - - mountPath: /etc/envoy - name: envoy-sidecar-config - - mountPath: /etc/envoy/ssl - name: gloo-mtls-certs - readOnly: true -{{- if .Values.global.glooMtls.envoySidecarResources }} - resources: -{{ toYaml .Values.global.glooMtls.envoySidecarResources | indent 10}} -{{- end}} - - name: sds - image: {{ template "gloo.image" $sdsImage }} - imagePullPolicy: {{ $sdsImage.pullPolicy }} - env: - - name: GLOO_MTLS_SDS_ENABLED - value: "true" - {{- $securityDefaults := dict "runAsNonRoot" true }} - {{- if not .Values.gloo.deployment.floatingUserId -}} - {{- $_ := set $securityDefaults "runAsUser" .Values.gloo.deployment.runAsUser}} - {{- end -}} - {{- include "gloo.containerSecurityContext" (dict "values" .Values.global.glooMtls.sds.securityContext "defaults" $securityDefaults "podSecurityStandards" .Values.global.podSecurityStandards "indent" 8 "globalSec" .Values.global.securitySettings) }} - ports: - - containerPort: {{ .Values.gloo.deployment.validationPort }} - name: validation - protocol: TCP - readinessProbe: - tcpSocket: - port: {{ .Values.gloo.deployment.validationPort }} - initialDelaySeconds: 3 - periodSeconds: 10 - failureThreshold: 3 - volumeMounts: - - mountPath: /etc/envoy/ssl - name: gloo-mtls-certs - readOnly: true -{{- if .Values.global.glooMtls.sdsResources }} - resources: -{{ toYaml .Values.global.glooMtls.sdsResources | indent 10}} -{{- end}} -{{- end }} - - image: {{template "gloo.image" $image }} - imagePullPolicy: {{ $image.pullPolicy }} - name: gloo -{{- if .Values.gloo.deployment.resources }} - resources: -{{ toYaml .Values.gloo.deployment.resources | indent 10}} -{{- else}} - resources: - requests: - cpu: 500m - memory: 256Mi -{{- end -}} - {{- $capabilities := dict "drop" (list "ALL") -}} - {{- $securityDefaults := dict "runAsNonRoot" true "capabilities" $capabilities "readOnlyRootFilesystem" true "allowPrivilegeEscalation" false -}} - {{- /* set floatingUserId to true in the helm install to let the pod be assigned a dynamic user ID */ -}} - {{- /* see https://github.com/helm/helm/issues/1707#issuecomment-520357573 */ -}} - {{- /* the user id may be set quite high -- openshift wants userids that may get printed as scientific notation */ -}} - {{- /* If you specify your own securityContext, floatingUserId will have no effect */ -}} - {{- if not .Values.gloo.deployment.floatingUserId -}} - {{- $_ := set $securityDefaults "runAsUser" .Values.gloo.deployment.runAsUser }} - {{- end -}} - {{- include "gloo.containerSecurityContext" (dict "values" .Values.gloo.deployment.glooContainerSecurityContext "defaults" $securityDefaults "podSecurityStandards" .Values.global.podSecurityStandards "indent" 8 "globalSec" .Values.global.securitySettings) }} - ports: -{{- if not .Values.global.glooMtls.enabled }} - - containerPort: {{ .Values.gloo.deployment.xdsPort }} - name: grpc-xds - protocol: TCP - - containerPort: {{ .Values.gloo.deployment.restXdsPort }} - name: rest-xds - protocol: TCP -{{- end }} - - containerPort: {{ .Values.gloo.deployment.validationPort }} - name: grpc-validation - protocol: TCP - - containerPort: {{ .Values.gloo.deployment.proxyDebugPort }} - name: grpc-proxydebug - protocol: TCP - - containerPort: 9979 - name: wasm-cache - protocol: TCP - {{- if and $statsConfig.enabled $statsConfig.podMonitorEnabled }} - - name: http-monitoring - containerPort: 9091 - {{- end }} - {{- if .Values.settings.devMode }} - - containerPort: 10010 - name: dev-admin - protocol: TCP - {{- end }} - volumeMounts: - - name: labels-volume - mountPath: /etc/gloo - readOnly: true - env: -{{- if .Values.license_secret_name }} - - name: GLOO_LICENSE_KEY - valueFrom: - secretKeyRef: - name: {{ .Values.license_secret_name }} - key: license-key -{{- end }} -{{- if (((.Values.gloo.deployment.resources).limits).memory) }} - - name: GOMEMLIMIT - valueFrom: - resourceFieldRef: - divisor: "1" - resource: limits.memory -{{- end -}} -{{- if (((.Values.gloo.deployment.resources).limits).cpu) }} - - name: GOMAXPROCS - valueFrom: - resourceFieldRef: - divisor: "1" - resource: limits.cpu -{{- end -}} -{{- if .Values.gloo.deployment.customEnv }} -{{ toYaml .Values.gloo.deployment.customEnv | indent 10 }} -{{- end }} - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - {{- if .Values.kubeGateway.portal.enabled }} - - name: GG_PORTAL_PLUGIN - value: "true" - {{- end}} - {{- if .Values.gloo.splitLogOutput }} - - name: SPLIT_LOG_OUTPUT - value: "true" - {{- end}} - {{- if $statsConfig.enabled }} - - name: START_STATS_SERVER - value: "true" - {{- end}} - {{- if .Values.gateway.validation.enabled }} - - name: VALIDATION_MUST_START - value: "true" - {{- end}} - {{- if .Values.gloo.logLevel }} - - name: LOG_LEVEL - value: {{ .Values.gloo.logLevel }} - {{- end}} - {{- if .Values.global.istioIntegration.enableIstioSidecarOnGateway }} - - name: ENABLE_ISTIO_SIDECAR_ON_GATEWAY - value: "true" - {{- end}} - {{- if .Values.gloo.disableLeaderElection }} - - name: DISABLE_LEADER_ELECTION - value: "true" - {{- end}} - {{- if .Values.gloo.headerSecretRefNsMatchesUs }} - - name: HEADER_SECRET_REF_NS_MATCHES_US - value: "true" - {{- end}} -{{- if not .Values.global.glooMtls.enabled }} - readinessProbe: - tcpSocket: - port: {{ .Values.gloo.deployment.xdsPort }} - initialDelaySeconds: 3 - periodSeconds: 10 - failureThreshold: 3 -{{- if .Values.gloo.deployment.livenessProbeEnabled }} - livenessProbe: - httpGet: - path: /healthz - port: 8765 - initialDelaySeconds: 3 - periodSeconds: 10 - failureThreshold: 3 -{{- end }} -{{- end }}{{/* if not .Values.global.glooMtls.enabled */}} -{{- end }} {{/* define "gloo.deploymentSpec "*/}} - -{{/* Render template with yaml overrides */}} -{{- include "gloo.util.merge" (list . .Values.gloo.deployment.kubeResourceOverride "gloo.deploymentSpec") -}} \ No newline at end of file diff --git a/install/helm/gloo/templates/1-gloo-pod-disruption-budget.yaml b/install/helm/gloo/templates/1-gloo-pod-disruption-budget.yaml deleted file mode 100644 index a0992bc92b8..00000000000 --- a/install/helm/gloo/templates/1-gloo-pod-disruption-budget.yaml +++ /dev/null @@ -1,26 +0,0 @@ -{{- if .Values.gloo.podDisruptionBudget }} - -{{- if .Values.gloo.podDisruptionBudget.minAvailable }} -{{- if .Values.gloo.podDisruptionBudget.maxUnavailable }} -{{- fail "gloo PDB values minAvailable and maxUnavailable are mutually exclusive" }} -{{- end }} -{{- end }} - -apiVersion: policy/v1 -kind: PodDisruptionBudget -metadata: - name: gloo-pdb - namespace: {{ .Release.Namespace }} - labels: -{{ include "gloo.labels" . | indent 4}} -spec: - {{- if .Values.gloo.podDisruptionBudget.minAvailable }} - minAvailable: {{ .Values.gloo.podDisruptionBudget.minAvailable }} - {{- end }} - {{- if .Values.gloo.podDisruptionBudget.maxUnavailable }} - maxUnavailable: {{ .Values.gloo.podDisruptionBudget.maxUnavailable }} - {{- end }} - selector: - matchLabels: - gloo: gloo -{{- end }} diff --git a/install/helm/gloo/templates/18-settings.yaml b/install/helm/gloo/templates/18-settings.yaml deleted file mode 100644 index cb74d77a362..00000000000 --- a/install/helm/gloo/templates/18-settings.yaml +++ /dev/null @@ -1,204 +0,0 @@ -{{- define "settings.settingsSpec"}} -{{ if .Values.settings.create }} - -apiVersion: gloo.solo.io/v1 -kind: Settings -metadata: - labels: -{{ include "gloo.labels" . | indent 4}} - gloo: settings - name: default - namespace: {{ .Release.Namespace }} -spec: -{{- if .Values.settings.devMode }} - devMode: - {{ .Values.settings.devMode}} -{{- end }} -{{- if and .Values.settings.secretOptions .Values.settings.secretOptions.sources }} - secretOptions: - sources: -{{- toYaml .Values.settings.secretOptions.sources | nindent 6 }} -{{- end }} - gloo: -{{- if .Values.global.glooMtls.enabled }} - xdsBindAddr: "127.0.0.1:9999" - restXdsBindAddr: "127.0.0.1:9998" -{{- else }} - xdsBindAddr: "0.0.0.0:{{ .Values.gloo.deployment.xdsPort }}" - restXdsBindAddr: "0.0.0.0:{{ .Values.gloo.deployment.restXdsPort }}" -{{- end }} - proxyDebugBindAddr: "0.0.0.0:{{ .Values.gloo.deployment.proxyDebugPort }}" - enableRestEds: {{ .Values.settings.enableRestEds | default false }} -{{- /* .Values.settings.replaceInvalidRoutes for backwards compatibility */}} -{{- if or (.Values.settings.invalidConfigPolicy) (.Values.settings.replaceInvalidRoutes) }} - invalidConfigPolicy: - {{- if .Values.settings.replaceInvalidRoutes }} - replaceInvalidRoutes: {{ .Values.settings.replaceInvalidRoutes }} - {{- end }} -{{ toYaml .Values.settings.invalidConfigPolicy | indent 6}} -{{- end }} - disableKubernetesDestinations: {{ .Values.settings.disableKubernetesDestinations | default false }} - disableProxyGarbageCollection: {{ .Values.settings.disableProxyGarbageCollection | default false }} -{{- if .Values.settings.regexMaxProgramSize }} - regexMaxProgramSize: {{ .Values.settings.regexMaxProgramSize }} -{{- end }} -{{- if .Values.settings.circuitBreakers }} - circuitBreakers: -{{ toYaml .Values.settings.circuitBreakers | indent 6}} -{{- end }} -{{- if .Values.settings.aws }} - awsOptions: -{{- if .Values.settings.aws.enableServiceAccountCredentials }} - serviceAccountCredentials: - cluster: aws_sts_cluster -{{- if not .Values.settings.aws.stsCredentialsRegion }} - uri: sts.amazonaws.com - region: us-east-1 -{{- else }} - uri: sts.{{ .Values.settings.aws.stsCredentialsRegion }}.amazonaws.com - region: {{ .Values.settings.aws.stsCredentialsRegion }} -{{- end }} -{{- else if .Values.settings.aws.enableCredentialsDiscovery }} - enableCredentialsDiscovey: true -{{- end }} - - {{- if .Values.settings.aws.credential_refresh_delay }} - credentialRefreshDelay: {{ .Values.settings.aws.credential_refresh_delay }} -{{- end }} -{{- if .Values.settings.aws.propagateOriginalRouting }} - propagateOriginalRouting: {{ .Values.settings.aws.propagateOriginalRouting }} -{{- end }} - {{- if .Values.settings.aws.fallbackToFirstFunction }} - fallbackToFirstFunction: {{ .Values.settings.aws.fallbackToFirstFunction }} - {{- end }} -{{- end }} - {{- if .Values.global.istioIntegration }} - istioOptions: - appendXForwardedHost: {{ .Values.global.istioIntegration.appendXForwardedHost }} - enableAutoMtls: {{ .Values.global.istioIntegration.enableAutoMtls }} - {{- if .Values.global.istioIntegration.enabled }} - enableIntegration: true - {{- else }} - enableIntegration: false - {{- end }} - {{- end }} - - {{- if .Values.settings.integrations.consul }} - consul: - {{- toYaml .Values.settings.integrations.consul | nindent 4 }} - {{- end }} - {{- if .Values.settings.integrations.consulUpstreamDiscovery }} - consulDiscovery: - {{- toYaml .Values.settings.integrations.consulUpstreamDiscovery | nindent 4 }} - {{- end }} - -{{- if .Values.settings.writeNamespace }} - discoveryNamespace: {{ .Values.settings.writeNamespace }} -{{- else }} - discoveryNamespace: {{ .Release.Namespace }} -{{- end }} - kubernetesArtifactSource: {} - kubernetesConfigSource: {} - kubernetesSecretSource: {} - refreshRate: 60s -{{- if .Values.settings.linkerd }} - linkerd: true -{{- end }} - - gateway: - isolateVirtualHostsBySslConfig: {{ .Values.gateway.isolateVirtualHostsBySslConfig }} - readGatewaysFromAllNamespaces: {{ .Values.gateway.readGatewaysFromAllNamespaces }} -{{- if .Values.gateway.translateEmptyGateways}} - translateEmptyGateways: {{ .Values.gateway.translateEmptyGateways}} -{{- end}} -{{- if or .Values.gateway.persistProxySpec (not .Values.gateway.enabled) }} - persistProxySpec: true -{{- end}} -{{- if .Values.gateway.compressedProxySpec}} - compressedProxySpec: {{ .Values.gateway.compressedProxySpec}} -{{- end}} - enableGatewayController: {{ .Values.gateway.enabled }} -{{- if .Values.gateway.validation.enabled }} - validation: - proxyValidationServerAddr: "gloo:{{ .Values.gloo.deployment.validationPort }}" - alwaysAccept: {{ .Values.gateway.validation.alwaysAcceptResources }} - allowWarnings: {{ .Values.gateway.validation.allowWarnings }} - warnMissingTlsSecret: {{ .Values.gateway.validation.warnMissingTlsSecret }} - serverEnabled: {{ .Values.gateway.validation.serverEnabled }} - disableTransformationValidation: {{ .Values.gateway.validation.disableTransformationValidation }} - warnRouteShortCircuiting: {{ .Values.gateway.validation.warnRouteShortCircuiting }} - validationServerGrpcMaxSizeBytes: {{ .Values.gateway.validation.validationServerGrpcMaxSizeBytes }} - fullEnvoyValidation: {{ .Values.gateway.validation.fullEnvoyValidation }} -{{- end }} - -{{- if .Values.discovery }} - discovery: -{{- if ne .Values.discovery.fdsMode "" }} - fdsMode: {{.Values.discovery.fdsMode}} -{{- end }} -{{- if .Values.discovery.udsOptions }} - udsOptions: - {{- toYaml .Values.discovery.udsOptions | nindent 6 }} -{{- end }} {{/* if .Values.discovery.udsOptions */}} -{{- if .Values.discovery.fdsOptions }} - fdsOptions: - {{- toYaml .Values.discovery.fdsOptions | nindent 6 }} -{{- end }} {{/* if .Values.discovery.fdsOptions */}} -{{- end }} {{/* if .Values.discovery */}} - -{{- if .Values.settings.extensions }} - extensions: -{{- toYaml .Values.settings.extensions | nindent 4 }} -{{- end }} - -{{- if .Values.settings.rateLimit }} - ratelimit: -{{- toYaml .Values.settings.rateLimit | nindent 4 }} -{{- end }} - -{{- if .Values.settings.ratelimitServer }} - ratelimitServer: -{{- toYaml .Values.settings.ratelimitServer | nindent 4 }} -{{- end }} - -{{/* extauth have specified yaml in Enterprise (as opposed to generic yaml insertion for third party configs here) */}} -{{- if .Values.global.extauthCustomYaml }} -{{- if .Values.global.extensions }} -{{- if .Values.global.extensions.extAuth }} - extauth: -{{- toYaml .Values.global.extensions.extAuth | nindent 4 }} -{{- end }} -{{- end }} -{{- end -}} - -{{- if .Values.global.extraSpecs }} -{{- include "gloo.extraSpecs" . }} -{{- end -}} - -{{- if .Values.settings.singleNamespace }} - watchNamespaces: - - {{ .Release.Namespace }} -{{- else }} -{{- with .Values.settings.watchNamespaces }} - watchNamespaces: - {{- range . }} - - {{ . }} - {{- end }} -{{- end }} {{/* with .Values.settings.watchNamespaces */}} -{{- end }} {{/* if .Values.settings.singleNamespace */}} - -{{- if .Values.settings.watchNamespaceSelectors }} - watchNamespaceSelectors: - {{ toYaml .Values.settings.watchNamespaceSelectors | nindent 4 }} -{{- end }} {{/* if .Values.settings.watchNamespaceSelectors */}} - -{{- end }} {{/* if .Values.settings.create */}} -{{- end }} {{/* define "settings.settingsSpec" */}} - - -{{/* Render template with yaml overrides */}} -{{- $kubeResourceOverride := dict -}} -{{- if .Values.settings -}} -{{- $kubeResourceOverride = .Values.settings.kubeResourceOverride -}} -{{- end -}} -{{- include "gloo.util.merge" (list . $kubeResourceOverride "settings.settingsSpec") -}} diff --git a/install/helm/gloo/templates/19-gloo-mtls-certgen-cronjob.yaml b/install/helm/gloo/templates/19-gloo-mtls-certgen-cronjob.yaml deleted file mode 100644 index 06e98f924b1..00000000000 --- a/install/helm/gloo/templates/19-gloo-mtls-certgen-cronjob.yaml +++ /dev/null @@ -1,75 +0,0 @@ -{{ define "glooMtls.certGenCronJobSpec" }} -{{- $image := .Values.gateway.certGenJob.image }} -{{- if .Values.global }} -{{- $image = merge .Values.gateway.certGenJob.image .Values.global.image }} -{{- end }} -{{- if and .Values.global.glooMtls.enabled .Values.gateway.certGenJob.cron.enabled }} -apiVersion: batch/v1 -kind: CronJob -metadata: - labels: -{{ include "gloo.labels" . | indent 4}} - gloo: gloo-mtls-certgen-cronjob - name: gloo-mtls-certgen-cronjob - namespace: {{ .Release.Namespace }} -spec: - schedule: {{ .Values.gateway.certGenJob.cron.schedule | quote }} - jobTemplate: - spec: - {{- include "gloo.jobSpecStandardFields" .Values.gateway.certGenJob | nindent 6 -}} - template: - metadata: - labels: - gloo: gloo-mtls-certs - sidecar.istio.io/inject: "false" - {{- if .Values.gateway.certGenJob.extraPodLabels }} - {{- range $key, $value := .Values.gateway.certGenJob.extraPodLabels }} - {{ $key | quote }}: {{ $value | quote }} - {{- end }} - {{- end }} - {{- if or .Values.settings.linkerd .Values.gateway.certGenJob.extraPodAnnotations }} - annotations: - {{- if .Values.settings.linkerd }} - "linkerd.io/inject": disabled - {{- end }} - {{- range $key, $value := .Values.gateway.certGenJob.extraPodAnnotations }} - {{ $key | quote }}: {{ $value | quote }} - {{- end }} - {{- end }} - spec: - {{- include "gloo.pullSecret" $image | nindent 10 -}} - serviceAccountName: certgen - {{- include "gloo.podSpecStandardFields" .Values.gateway.certGenJob | nindent 10 -}} - containers: - - image: {{template "gloo.image" $image}} - imagePullPolicy: {{ $image.pullPolicy }} - name: certgen - {{- $securityDefaults := dict "runAsNonRoot" true }} - {{- if not .Values.gateway.certGenJob.floatingUserId }} - {{- $_ := set $securityDefaults "runAsUser" .Values.gateway.certGenJob.runAsUser }} - {{- end }} - {{- include "gloo.containerSecurityContext" (dict "values" .Values.gateway.certGenJob.containerSecurityContext "defaults" $securityDefaults "podSecurityStandards" .Values.global.podSecurityStandards "indent" 14 "globalSec" .Values.global.securitySettings) }} - {{- with .Values.gateway.certGenJob.resources }} - resources: {{ toYaml . | nindent 16 }} - {{- end }} - env: - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - args: - - "--secret-name=gloo-mtls-certs" - - "--svc-name=gloo" - - "--rotation-duration={{ .Values.gateway.certGenJob.rotationDuration }}" - {{- if .Values.gateway.certGenJob.forceRotation }} - - "--force-rotation=true" - {{- end }} {{/* if .Values.gateway.certGenJob.forceRotation */}} -{{- end }} {{/* if and .Values.global.glooMtls.enabled .Values.gateway.certGenJob.cron.enabled */}} -{{- end }} {{/* define gateway.certGenJob.JobSpec*/}} - -{{/* Render template with yaml overrides */}} -{{- $kubeResourceOverride := dict -}} -{{- if .Values.gateway.certGenJob -}} -{{- $kubeResourceOverride = .Values.gateway.certGenJob.cron.mtlsKubeResourceOverride -}} -{{- end -}} -{{- include "gloo.util.merge" (list . $kubeResourceOverride "glooMtls.certGenCronJobSpec") -}} diff --git a/install/helm/gloo/templates/19-gloo-mtls-certgen-job.yaml b/install/helm/gloo/templates/19-gloo-mtls-certgen-job.yaml deleted file mode 100644 index ae8717e7f5f..00000000000 --- a/install/helm/gloo/templates/19-gloo-mtls-certgen-job.yaml +++ /dev/null @@ -1,83 +0,0 @@ -{{ define "glooMtls.certGenJobSpec" }} -{{- $image := .Values.gateway.certGenJob.image }} -{{- if .Values.global }} -{{- $image = merge .Values.gateway.certGenJob.image .Values.global.image }} -{{- end }} -{{- if .Values.global.glooMtls.enabled }} -apiVersion: batch/v1 -kind: Job -metadata: - labels: -{{ include "gloo.labels" . | indent 4}} - gloo: gloo-mtls-certgen - name: gloo-mtls-certgen - namespace: {{ .Release.Namespace }} - annotations: - {{- /* With ArgoCD, there is no concept or installs or upgrades. Everything is a sync. */}} - {{- /* Due to this behavour of ArgoCD, the value of `gateway.certGenJob.runOnUpdate` can not be respected and will run on every sync. */}} - {{- if .Values.gateway.certGenJob.runOnUpdate }} - "helm.sh/hook": pre-install, pre-upgrade - {{- include "gloo.jobHelmDeletePolicySucceededAndBeforeCreation" .Values.gateway.certGenJob | nindent 4 }} - {{- else }} - "helm.sh/hook": pre-install - {{- include "gloo.jobHelmDeletePolicySucceeded" .Values.gateway.certGenJob | nindent 4 }} - {{- end }} - "helm.sh/hook-weight": "10" -spec: - {{- include "gloo.jobSpecStandardFields" .Values.gateway.certGenJob | nindent 2 -}} - template: - metadata: - labels: - gloo: gloo-mtls-certs - sidecar.istio.io/inject: "false" - {{- if .Values.gateway.certGenJob.extraPodLabels }} - {{- range $key, $value := .Values.gateway.certGenJob.extraPodLabels }} - {{ $key | quote }}: {{ $value | quote }} - {{- end }} - {{- end }} - {{- if or .Values.settings.linkerd .Values.gateway.certGenJob.extraPodAnnotations }} - annotations: - {{- if .Values.settings.linkerd }} - "linkerd.io/inject": disabled - {{- end }} - {{- range $key, $value := .Values.gateway.certGenJob.extraPodAnnotations }} - {{ $key | quote }}: {{ $value | quote }} - {{- end }} - {{- end }} - spec: - {{- include "gloo.pullSecret" $image | nindent 6 -}} - serviceAccountName: certgen - {{- include "gloo.podSpecStandardFields" .Values.gateway.certGenJob | nindent 6 -}} - containers: - - image: {{template "gloo.image" $image}} - imagePullPolicy: {{ $image.pullPolicy }} - name: certgen - {{- $securityDefaults := dict "runAsNonRoot" true }} - {{- if not .Values.gateway.certGenJob.floatingUserId }} - {{- $_ := set $securityDefaults "runAsUser" .Values.gateway.certGenJob.runAsUser }} - {{- end }} - {{- include "gloo.containerSecurityContext" (dict "values" .Values.gateway.certGenJob.containerSecurityContext "defaults" $securityDefaults "podSecurityStandards" .Values.global.podSecurityStandards "indent" 10 "globalSec" .Values.global.securitySettings) }} - {{- with .Values.gateway.certGenJob.resources }} - resources: {{ toYaml . | nindent 12}} - {{- end }} - env: - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - args: - - "--secret-name=gloo-mtls-certs" - - "--svc-name=gloo" - - "--rotation-duration={{ .Values.gateway.certGenJob.rotationDuration }}" - {{- if .Values.gateway.certGenJob.forceRotation }} - - "--force-rotation=true" - {{- end }} {{/* if .Values.gateway.certGenJob.forceRotation */}} -{{- end }} {{/* if .Values.global.glooMtls.enabled */}} -{{- end }} {{/* define gateway.certGenJob.JobSpec*/}} - -{{/* Render template with yaml overrides */}} -{{- $kubeResourceOverride := dict -}} -{{- if .Values.gateway.certGenJob -}} -{{- $kubeResourceOverride = .Values.gateway.certGenJob.mtlsKubeResourceOverride -}} -{{- end -}} -{{- include "gloo.util.merge" (list . $kubeResourceOverride "glooMtls.certGenJobSpec") -}} diff --git a/install/helm/gloo/templates/19-gloo-mtls-configmap.yaml b/install/helm/gloo/templates/19-gloo-mtls-configmap.yaml deleted file mode 100644 index 07ddc37cd99..00000000000 --- a/install/helm/gloo/templates/19-gloo-mtls-configmap.yaml +++ /dev/null @@ -1,137 +0,0 @@ -{{- if .Values.global.glooMtls.enabled }} ---- -# config_map -apiVersion: v1 -kind: ConfigMap -metadata: - name: envoy-sidecar-config - namespace: {{ $.Release.Namespace }} - labels: -{{ include "gloo.labels" . | indent 4}} - gloo: gloo -data: - envoy-sidecar.yaml: | - layered_runtime: - layers: - - name: static_layer - static_layer: - overload: - global_downstream_max_connections: 250000 - - name: admin_layer - admin_layer: {} - node: - id: sds_client - cluster: sds_client - static_resources: - listeners: - - name: envoy_xds_mtls_listener - address: { socket_address: { address: "0.0.0.0", port_value: {{ .Values.gloo.deployment.xdsPort }} } } - filter_chains: - - filters: - - name: envoy.filters.network.tcp_proxy - typed_config: - "@type": type.googleapis.com/envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy - stat_prefix: ingress_tcp - cluster: gloo_xds_cluster - transport_socket: - name: envoy.transport_sockets.tls - typed_config: - "@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext - common_tls_context: - tls_certificate_sds_secret_configs: - - name: server_cert - sds_config: - resource_api_version: V3 - api_config_source: - api_type: GRPC - transport_api_version: V3 - grpc_services: - - envoy_grpc: - cluster_name: gloo_sds - validation_context_sds_secret_config: - name: validation_context - sds_config: - resource_api_version: V3 - api_config_source: - api_type: GRPC - transport_api_version: V3 - grpc_services: - - envoy_grpc: - cluster_name: gloo_sds - - name: envoy_rest_xds_mtls_listener - address: { socket_address: { address: "0.0.0.0", port_value: {{ .Values.gloo.deployment.restXdsPort }} } } - filter_chains: - - filters: - - name: envoy.filters.network.tcp_proxy - typed_config: - "@type": type.googleapis.com/envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy - stat_prefix: ingress_tcp - cluster: gloo_rest_xds_cluster - transport_socket: - name: envoy.transport_sockets.tls - typed_config: - "@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext - common_tls_context: - tls_certificate_sds_secret_configs: - - name: server_cert - sds_config: - resource_api_version: V3 - api_config_source: - api_type: GRPC - transport_api_version: V3 - grpc_services: - - envoy_grpc: - cluster_name: gloo_sds - validation_context_sds_secret_config: - name: validation_context - sds_config: - resource_api_version: V3 - api_config_source: - api_type: GRPC - transport_api_version: V3 - grpc_services: - - envoy_grpc: - cluster_name: gloo_sds - clusters: - - name: gloo_sds - connect_timeout: 0.25s - http2_protocol_options: {} - load_assignment: - cluster_name: gloo_sds - endpoints: - - lb_endpoints: - - endpoint: - address: - socket_address: - address: 127.0.0.1 - port_value: 8234 - - name: gloo_xds_cluster - connect_timeout: 5.000s - load_assignment: - cluster_name: gloo_xds_cluster - endpoints: - - lb_endpoints: - - endpoint: - address: - socket_address: - address: 127.0.0.1 - port_value: 9999 - - name: gloo_rest_xds_cluster - connect_timeout: 5.000s - load_assignment: - cluster_name: gloo_rest_xds_cluster - endpoints: - - lb_endpoints: - - endpoint: - address: - socket_address: - address: 127.0.0.1 - port_value: 9998 - type: STRICT_DNS - admin: - access_log_path: "/dev/null" - address: - socket_address: - address: 0.0.0.0 - port_value: 8001 -{{- end}} \ No newline at end of file diff --git a/install/helm/gloo/templates/2-gloo-service-account.yaml b/install/helm/gloo/templates/2-gloo-service-account.yaml deleted file mode 100644 index 189cd44799f..00000000000 --- a/install/helm/gloo/templates/2-gloo-service-account.yaml +++ /dev/null @@ -1,28 +0,0 @@ -{{ define "gloo.serviceAccountSpec"}} -apiVersion: v1 -kind: ServiceAccount -metadata: -{{- if .Values.gloo.serviceAccount.extraAnnotations }} - annotations: - {{- range $key, $value := .Values.gloo.serviceAccount.extraAnnotations }} - {{ $key }}: {{ $value | quote }} - {{- end }} -{{- end }} - labels: -{{ include "gloo.labels" . | indent 4}} - gloo: gloo - name: gloo - namespace: {{ $.Release.Namespace }} -{{- if .Values.gloo.serviceAccount.disableAutomount }} -automountServiceAccountToken: false -{{ end }} -{{- end }} {{/* define "gloo.serviceAccountSpec "*/}} - -{{/* Render template with yaml overrides */}} -{{- $kubeResourceOverride := dict -}} -{{- if .Values.gloo.serviceAccount -}} -{{- if .Values.gloo.serviceAccount.kubeResourceOverride -}} -{{- $kubeResourceOverride = .Values.gloo.serviceAccount.kubeResourceOverride -}} -{{- end -}} -{{- end -}} -{{- include "gloo.util.merge" (list . $kubeResourceOverride "gloo.serviceAccountSpec") -}} diff --git a/install/helm/gloo/templates/2-gloo-service.yaml b/install/helm/gloo/templates/2-gloo-service.yaml deleted file mode 100644 index 5e869f60ca5..00000000000 --- a/install/helm/gloo/templates/2-gloo-service.yaml +++ /dev/null @@ -1,59 +0,0 @@ -{{ define "gloo.serviceSpec" }} -{{- $statsConfig := coalesce .Values.gloo.deployment.stats .Values.global.glooStats -}} -apiVersion: v1 -kind: Service -metadata: - labels: -{{ include "gloo.labels" . | indent 4}} - gloo: gloo - name: gloo - namespace: {{ .Release.Namespace }} -spec: -{{- if .Values.gloo.deployment.externalTrafficPolicy }} - externalTrafficPolicy: {{ .Values.gloo.deployment.externalTrafficPolicy }} -{{- end }} - ports: - - name: grpc-xds - port: {{ .Values.gloo.deployment.xdsPort }} - protocol: TCP - - name: rest-xds - port: {{ .Values.gloo.deployment.restXdsPort }} - protocol: TCP - - name: grpc-validation - port: {{ .Values.gloo.deployment.validationPort }} - protocol: TCP - - name: grpc-proxydebug - port: {{ .Values.gloo.deployment.proxyDebugPort }} - protocol: TCP - - name: wasm-cache - port: 9979 - protocol: TCP -{{- if and .Values.gateway.enabled .Values.gateway.validation.enabled }} - - name: https - port: 443 - protocol: TCP - # this should map to projects/gateway/pkg/defaults.ValidationWebhookBindPort - targetPort: 8443 -{{- end }} -{{- if and $statsConfig.enabled $statsConfig.serviceMonitorEnabled }} - - name: http-monitoring - port: 9091 -{{- end }} -{{- if .Values.settings.devMode }} - - name: dev-admin - port: 10010 - protocol: TCP -{{- end }} - selector: - gloo: gloo -{{- end }} {{/* define "gloo.serviceSpec "*/}} - -{{/* Render template with yaml overrides */}} -{{- $kubeResourceOverride := dict -}} -{{- if .Values.gloo.service -}} -{{- if .Values.gloo.service.kubeResourceOverride -}} -{{- $kubeResourceOverride = .Values.gloo.service.kubeResourceOverride -}} -{{- end -}} -{{- end -}} - -{{- include "gloo.util.merge" (list . $kubeResourceOverride "gloo.serviceSpec") -}} diff --git a/install/helm/gloo/templates/20-namespace-clusterrole-gateway.yaml b/install/helm/gloo/templates/20-namespace-clusterrole-gateway.yaml deleted file mode 100644 index 375804fc44e..00000000000 --- a/install/helm/gloo/templates/20-namespace-clusterrole-gateway.yaml +++ /dev/null @@ -1,226 +0,0 @@ -{{- if .Values.global.glooRbac.create }} -{{- if .Values.gateway.enabled }} ---- -kind: {{ include "gloo.roleKind" . }} -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: kube-resource-watcher{{ include "gloo.rbacNameSuffix" . }} - {{- if .Values.global.glooRbac.namespaced }} - namespace: {{ .Release.Namespace }} - {{- end }} - labels: -{{ include "gloo.labels" . | indent 4}} - gloo: rbac -rules: -- apiGroups: - - "" - resources: - - pods - - services - - secrets - - endpoints - - configmaps - - namespaces - verbs: - - get - - list - - watch ---- -kind: {{ include "gloo.roleKind" . }} -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: kube-leader-election{{ include "gloo.rbacNameSuffix" . }} - {{- if .Values.global.glooRbac.namespaced }} - namespace: {{ .Release.Namespace }} - {{- end }} - labels: -{{ include "gloo.labels" . | indent 4}} - gloo: rbac -rules: -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - "*" -- apiGroups: - - "" - resources: - - configmaps - verbs: - - "*" ---- -kind: {{ include "gloo.roleKind" . }} -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: gloo-upstream-mutator{{ include "gloo.rbacNameSuffix" . }} - {{- if .Values.global.glooRbac.namespaced }} - namespace: {{ .Release.Namespace }} - {{- end }} - labels: -{{ include "gloo.labels" . | indent 4}} - gloo: rbac -rules: -- apiGroups: - - gloo.solo.io - resources: - - upstreams - verbs: - - get - - list - - watch - - create - - update - - patch - - delete ---- -kind: {{ include "gloo.roleKind" . }} -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: gloo-resource-reader{{ include "gloo.rbacNameSuffix" . }} - {{- if .Values.global.glooRbac.namespaced }} - namespace: {{ .Release.Namespace }} - {{- end }} - labels: -{{ include "gloo.labels" . | indent 4}} - gloo: rbac -rules: -- apiGroups: - - gloo.solo.io - resources: - - upstreams - - upstreamgroups - - proxies - verbs: - - get - - list - - watch - - patch # needed for status updates for skv1 -- apiGroups: - - enterprise.gloo.solo.io - resources: - - authconfigs - verbs: - - get - - list - - watch - - patch # needed for status updates for skv1 -- apiGroups: - - ratelimit.solo.io - resources: - - ratelimitconfigs - - ratelimitconfigs/status - verbs: - - get - - list - - watch - - patch # needed for status updates for skv1 - - update # needed for status updates for skv2 -- apiGroups: - - graphql.gloo.solo.io - resources: - - graphqlapis - - graphqlapis/status - verbs: - - get - - list - - watch - - patch # needed for status updates for skv1 - - update # needed for status updates for skv2 ---- -kind: {{ include "gloo.roleKind" . }} -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: settings-user{{ include "gloo.rbacNameSuffix" . }} - {{- if .Values.global.glooRbac.namespaced }} - namespace: {{ .Release.Namespace }} - {{- end }} - labels: -{{ include "gloo.labels" . | indent 4}} - gloo: rbac -rules: -- apiGroups: - - gloo.solo.io - resources: - - settings - verbs: - - get - - list - - watch ---- -kind: {{ include "gloo.roleKind" . }} -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: gloo-resource-mutator{{ include "gloo.rbacNameSuffix" . }} - {{- if .Values.global.glooRbac.namespaced }} - namespace: {{ .Release.Namespace }} - {{- end }} - labels: -{{ include "gloo.labels" . | indent 4}} - gloo: rbac -rules: -- apiGroups: - - gloo.solo.io - resources: - - proxies - verbs: - - get - - list - - watch - - create - - update - - patch - - delete ---- -kind: {{ include "gloo.roleKind" . }} -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: gateway-resource-reader{{ include "gloo.rbacNameSuffix" . }} - {{- if .Values.global.glooRbac.namespaced }} - namespace: {{ .Release.Namespace }} - {{- end }} - labels: -{{ include "gloo.labels" . | indent 4}} - gloo: rbac -rules: -- apiGroups: - - gateway.solo.io - resources: - - gateways - - httpgateways - - tcpgateways - - virtualservices - - routetables - - virtualhostoptions - - routeoptions - verbs: - - get - - list - - watch - - patch # needed for status updates ---- -kind: {{ include "gloo.roleKind" . }} -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: gloo-graphqlapi-mutator{{ include "gloo.rbacNameSuffix" . }} - {{- if .Values.global.glooRbac.namespaced }} - namespace: {{ .Release.Namespace }} - {{- end }} - labels: -{{ include "gloo.labels" . | indent 4}} - gloo: rbac -rules: -- apiGroups: - - graphql.gloo.solo.io - resources: - - graphqlapis - - graphqlapis/status - verbs: - - get - - list - - watch - - update - - patch - - create -{{- end -}} -{{- end -}} \ No newline at end of file diff --git a/install/helm/gloo/templates/23-namespace-clusterrolebinding-gateway.yaml b/install/helm/gloo/templates/23-namespace-clusterrolebinding-gateway.yaml deleted file mode 100644 index ece0a48d399..00000000000 --- a/install/helm/gloo/templates/23-namespace-clusterrolebinding-gateway.yaml +++ /dev/null @@ -1,188 +0,0 @@ -{{- if .Values.global.glooRbac.create }} -{{- if .Values.gateway.enabled }} ---- -kind: {{ include "gloo.roleKind" . }}Binding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: kube-resource-watcher-binding{{ include "gloo.rbacNameSuffix" . }} -{{- if .Values.global.glooRbac.namespaced }} - namespace: {{ .Release.Namespace }} -{{- end }} - labels: -{{ include "gloo.labels" . | indent 4}} - gloo: rbac -subjects: -- kind: ServiceAccount - name: gloo - namespace: {{ .Release.Namespace }} -{{- if .Values.discovery.enabled }} -- kind: ServiceAccount - name: discovery - namespace: {{ .Release.Namespace }} -{{- end }} -roleRef: - kind: {{ include "gloo.roleKind" . }} - name: kube-resource-watcher{{ include "gloo.rbacNameSuffix" . }} - apiGroup: rbac.authorization.k8s.io ---- -kind: {{ include "gloo.roleKind" . }}Binding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: kube-leader-election-binding{{ include "gloo.rbacNameSuffix" . }} - {{- if .Values.global.glooRbac.namespaced }} - namespace: {{ .Release.Namespace }} - {{- end }} - labels: -{{ include "gloo.labels" . | indent 4}} - gloo: rbac -subjects: -- kind: ServiceAccount - name: gloo - namespace: {{ .Release.Namespace }} -{{- if .Values.discovery.enabled }} -- kind: ServiceAccount - name: discovery - namespace: {{ .Release.Namespace }} -{{- end}} -roleRef: - kind: {{ include "gloo.roleKind" . }} - name: kube-leader-election{{ include "gloo.rbacNameSuffix" . }} - apiGroup: rbac.authorization.k8s.io ---- -kind: {{ include "gloo.roleKind" . }}Binding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: gloo-upstream-mutator-binding{{ include "gloo.rbacNameSuffix" . }} -{{- if .Values.global.glooRbac.namespaced }} - namespace: {{ .Release.Namespace }} -{{- end }} - labels: -{{ include "gloo.labels" . | indent 4}} - gloo: rbac -subjects: -{{- if .Values.discovery.enabled }} -- kind: ServiceAccount - name: discovery - namespace: {{ .Release.Namespace }} -{{- else }} - [] -{{- end}} -roleRef: - kind: {{ include "gloo.roleKind" . }} - name: gloo-upstream-mutator{{ include "gloo.rbacNameSuffix" . }} - apiGroup: rbac.authorization.k8s.io ---- -kind: {{ include "gloo.roleKind" . }}Binding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: gloo-resource-reader-binding{{ include "gloo.rbacNameSuffix" . }} -{{- if .Values.global.glooRbac.namespaced }} - namespace: {{ .Release.Namespace }} -{{- end }} - labels: -{{ include "gloo.labels" . | indent 4}} - gloo: rbac -subjects: -- kind: ServiceAccount - name: gloo - namespace: {{ .Release.Namespace }} -roleRef: - kind: {{ include "gloo.roleKind" . }} - name: gloo-resource-reader{{ include "gloo.rbacNameSuffix" . }} - apiGroup: rbac.authorization.k8s.io ---- -kind: {{ include "gloo.roleKind" . }}Binding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: settings-user-binding{{ include "gloo.rbacNameSuffix" . }} -{{- if .Values.global.glooRbac.namespaced }} - namespace: {{ .Release.Namespace }} -{{- end }} - labels: -{{ include "gloo.labels" . | indent 4}} - gloo: rbac -subjects: -- kind: ServiceAccount - name: gloo - namespace: {{ .Release.Namespace }} -- kind: ServiceAccount - name: gateway - namespace: {{ .Release.Namespace }} -{{- if .Values.discovery.enabled }} -- kind: ServiceAccount - name: discovery - namespace: {{ .Release.Namespace }} -{{- end}} -roleRef: - kind: {{ include "gloo.roleKind" . }} - name: settings-user{{ include "gloo.rbacNameSuffix" . }} - apiGroup: rbac.authorization.k8s.io ---- -kind: {{ include "gloo.roleKind" . }}Binding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: gloo-resource-mutator-binding{{ include "gloo.rbacNameSuffix" . }} -{{- if .Values.global.glooRbac.namespaced }} - namespace: {{ .Release.Namespace }} -{{- end }} - labels: -{{ include "gloo.labels" . | indent 4}} - gloo: rbac -subjects: -- kind: ServiceAccount - name: gateway - namespace: {{ .Release.Namespace }} -- kind: ServiceAccount - name: gloo - namespace: {{ .Release.Namespace }} -roleRef: - kind: {{ include "gloo.roleKind" . }} - name: gloo-resource-mutator{{ include "gloo.rbacNameSuffix" . }} - apiGroup: rbac.authorization.k8s.io ---- -kind: {{ include "gloo.roleKind" . }}Binding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: gateway-resource-reader-binding{{ include "gloo.rbacNameSuffix" . }} -{{- if .Values.global.glooRbac.namespaced }} - namespace: {{ .Release.Namespace }} -{{- end }} - labels: -{{ include "gloo.labels" . | indent 4}} - gloo: rbac -subjects: -- kind: ServiceAccount - name: gateway - namespace: {{ .Release.Namespace }} -- kind: ServiceAccount - name: gloo # used to support gloo/gateway running in same pod - namespace: {{ .Release.Namespace }} -roleRef: - kind: {{ include "gloo.roleKind" . }} - name: gateway-resource-reader{{ include "gloo.rbacNameSuffix" . }} - apiGroup: rbac.authorization.k8s.io ---- -kind: {{ include "gloo.roleKind" . }}Binding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: gloo-graphqlapi-mutator-binding{{ include "gloo.rbacNameSuffix" . }} - {{- if .Values.global.glooRbac.namespaced }} - namespace: {{ .Release.Namespace }} - {{- end }} - labels: -{{ include "gloo.labels" . | indent 4}} - gloo: rbac -subjects: -{{- if .Values.discovery.enabled }} - - kind: ServiceAccount - name: discovery - namespace: {{ .Release.Namespace }} -{{- else }} - [] -{{- end}} -roleRef: - kind: {{ include "gloo.roleKind" . }} - name: gloo-graphqlapi-mutator{{ include "gloo.rbacNameSuffix" . }} - apiGroup: rbac.authorization.k8s.io -{{- end -}} -{{- end -}} diff --git a/install/helm/gloo/templates/4-configmaps.yaml b/install/helm/gloo/templates/4-configmaps.yaml deleted file mode 100644 index 5e100387880..00000000000 --- a/install/helm/gloo/templates/4-configmaps.yaml +++ /dev/null @@ -1,15 +0,0 @@ -{{- range $configMap := .Values.global.configMaps }} -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ required "A ConfigMap name is required!" $configMap.name }} - namespace: {{ $configMap.namespace | default $.Release.Namespace }} - labels: -{{ include "gloo.labels" $ | indent 4}} - gloo: gloo -data: - {{- range $key, $value := $configMap.data}} - {{ $key }}: {{ $value }} - {{- end }} ---- -{{- end }} diff --git a/install/helm/gloo/templates/43-gatewayparameters.yaml b/install/helm/gloo/templates/43-gatewayparameters.yaml deleted file mode 100644 index 625ef01aeeb..00000000000 --- a/install/helm/gloo/templates/43-gatewayparameters.yaml +++ /dev/null @@ -1,164 +0,0 @@ -{{- $global := .Values.global -}} -kind: GatewayParameters -apiVersion: gateway.gloo.solo.io/v1alpha1 -metadata: - labels: - {{- include "gloo-gateway.constLabels" . | nindent 4 }} - name: gloo-gateway - namespace: {{ .Release.Namespace }} -spec: - kube: -{{- $gg := dict -}} -{{- if .Values.kubeGateway.gatewayParameters -}} -{{- if .Values.kubeGateway.gatewayParameters.glooGateway -}} -{{- $gg = .Values.kubeGateway.gatewayParameters.glooGateway -}} -{{- end }}{{/* if .Values.kubeGateway.gatewayParameters.glooGateway */}} -{{- end }}{{/* if .Values.kubeGateway.gatewayParameters */}} -{{- $replicas := 1 -}} -{{- if $gg.proxyDeployment -}} -{{- if $gg.proxyDeployment.replicas -}} -{{- $replicas = $gg.proxyDeployment.replicas -}} -{{- end -}}{{/* if $gg.proxyDeployment.replicas */}} -{{- end }}{{/* if $gg.proxyDeployment */}} - deployment: - replicas: {{ $replicas }} -{{- $serviceType := "LoadBalancer" -}} -{{- if $gg.service -}} -{{- if $gg.service.type -}} -{{- $serviceType = $gg.service.type -}} -{{- end -}}{{/* if $gg.service.type */}} -{{- end }}{{/* if $gg.service */}} - service: - type: {{ $serviceType }} - {{- with ($gg.service).extraLabels }} - extraLabels: - {{- toYaml . | nindent 8 }} - {{- end }} - {{- with ($gg.service).extraAnnotations }} - extraAnnotations: - {{- toYaml . | nindent 8 }} - {{- end }} -{{- if $gg.serviceAccount }} - serviceAccount: - {{- with $gg.serviceAccount.extraLabels }} - extraLabels: - {{- toYaml . | nindent 8 }} - {{- end }} - {{- with $gg.serviceAccount.extraAnnotations }} - extraAnnotations: - {{- toYaml . | nindent 8 }} - {{- end }} -{{- end }}{{/* if $gg.serviceAccount */}} - floatingUserId: {{ hasKey $global.securitySettings "floatingUserId" | ternary $global.securitySettings.floatingUserId (or $gg.floatingUserId false) }} - envoyContainer: - image: - {{- $envoyImage := dict -}} - {{- if $gg.envoyContainer -}} - {{- if $gg.envoyContainer.image -}} - {{- $envoyImage = $gg.envoyContainer.image -}} - {{- end -}}{{/* if $gg.envoyContainer.image */}} - {{- end }}{{/* if $gg.envoyContainer */}} - {{- merge $envoyImage $global.image | include "gloo-gateway.gatewayParametersImage" | nindent 8 }} -{{- if $gg.envoyContainer -}} -{{- if $gg.envoyContainer.securityContext }} - securityContext: - {{- toYaml $gg.envoyContainer.securityContext | nindent 8 }} -{{- end }}{{/* if $gg.envoyContainer.securityContext */}} -{{- if $gg.envoyContainer.resources }} - resources: - {{- toYaml $gg.envoyContainer.resources | nindent 8 }} -{{- end }}{{/* if $gg.envoyContainer.resources */}} -{{- end }}{{/* if $gg.envoyContainer */}} - podTemplate: - extraLabels: - {{- include "gloo-gateway.constLabels" . | nindent 8 }} -{{- if $gg.podTemplate }} -{{- if $gg.podTemplate.terminationGracePeriodSeconds }} - terminationGracePeriodSeconds: {{ $gg.podTemplate.terminationGracePeriodSeconds }} -{{- end }}{{/* if $gg.podTemplate.terminationGracePeriodSeconds */}} -{{- if $gg.podTemplate.gracefulShutdown }} - gracefulShutdown: - {{- toYaml $gg.podTemplate.gracefulShutdown | nindent 8 }} -{{- end }}{{/* if $gg.podTemplate.gracefulShutdown */}} -{{- if $gg.podTemplate.probes }} - readinessProbe: -{{- if $gg.podTemplate.customReadinessProbe }} -{{ toYaml $gg.podTemplate.customReadinessProbe | indent 8}} -{{- else }} - httpGet: - scheme: HTTP - port: 8082 - path: /envoy-hc - initialDelaySeconds: 5 - periodSeconds: 5 - failureThreshold: 2 -{{- end}}{{/* if $gg.podTemplate.customReadinessProbe */}} -{{- if $gg.podTemplate.customLivenessProbe }} - livenessProbe: -{{ toYaml $gg.podTemplate.customLivenessProbe | indent 8}} -{{- end }}{{/*if $gg.podTemplate.customLivenessProbe*/}} -{{- end }}{{/*if $gg.podTemplate.probes*/}} -{{- end }}{{/*if $gg.podTemplate */}} -{{- if $gg.sdsContainer }} - sdsContainer: - image: - {{- merge $gg.sdsContainer.image $global.image | include "gloo-gateway.gatewayParametersImage" | nindent 8 }} -{{- if $gg.sdsContainer.securityContext }} - securityContext: - {{- toYaml $gg.sdsContainer.securityContext | nindent 8 }} -{{- end }}{{/* if $gg.sdsContainer.securityContext */}} -{{- if $gg.sdsContainer.logLevel }} - bootstrap: - logLevel: {{ $gg.sdsContainer.logLevel }} -{{- end }}{{/* if $gg.sdsContainer.logLevel */}} -{{- if $gg.sdsContainer.sdsResources }} - resources: - {{- toYaml $gg.sdsContainer.sdsResources | nindent 8 }} -{{- end }}{{/* if $gg.sdsContainer.sdsResources */}} - istio: -{{- if $gg.istio.customSidecars }} - customSidecars: - {{- toYaml $gg.istio.customSidecars | nindent 6 }} -{{- end }}{{/* if $gg.istio.customSidecars */}} -{{- if and $gg.istio.istioProxyContainer (not $gg.istio.customSidecars) }} - istioProxyContainer: - image: - {{- merge $gg.istio.istioProxyContainer.image $global.image | include "gloo-gateway.gatewayParametersImage" | nindent 10 }} -{{- if $gg.istio.istioProxyContainer.securityContext }} - securityContext: - {{- toYaml $gg.istio.istioProxyContainer.securityContext | nindent 10 }} -{{- end }}{{/* if $gg.istio.istioProxyContainer.securityContext */}} -{{- if $gg.istio.istioProxyContainer.logLevel }} - logLevel: {{ $gg.istio.istioProxyContainer.logLevel }} -{{- end }}{{/* if $gg.istio.istioProxyContainer.logLevel */}} - istioDiscoveryAddress: {{ $gg.istio.istioProxyContainer.istioDiscoveryAddress }} - istioMetaMeshId: {{ $gg.istio.istioProxyContainer.istioMetaMeshId }} - istioMetaClusterId: {{ $gg.istio.istioProxyContainer.istioMetaClusterId }} -{{- if $gg.stats }} - stats: - {{- toYaml $gg.stats | nindent 6 }} -{{- end -}}{{/* if $gg.stats */}} -{{- end }}{{/* if and $gg.istio.istioProxyContainer (not $gg.istio.customSidecars) */}} -{{- end }}{{/* if $gg.sdsContainer */}} -{{- if $gg.aiExtension }} - aiExtension: - enabled: {{ $gg.aiExtension.enabled }} - image: - {{- merge $gg.aiExtension.image $global.image | include "gloo-gateway.gatewayParametersImage" | nindent 8 }} -{{- if $gg.aiExtension.securityContext }} - securityContext: - {{- toYaml $gg.aiExtension.securityContext | nindent 8 }} -{{- end }}{{/* if $gg.aiExtension.securityContext */}} -{{- if $gg.aiExtension.resources }} - resources: - {{- toYaml $gg.aiExtension.resources | nindent 8 }} -{{- end }}{{/* if $gg.aiExtension.resources */}} -{{- if $gg.aiExtension.env }} - env: -{{ toYaml $gg.aiExtension.env | indent 6 }} -{{- end }} {{/* if $gg.aiExtension.env */}} -{{- if $gg.aiExtension.ports }} - ports: -{{ toYaml $gg.aiExtension.ports | indent 6 }} -{{- end }} {{/* if $gg.aiExtension.ports */}} -{{- end }}{{/* if $gg.aiExtension */}} diff --git a/install/helm/gloo/templates/44-gatewayclass.yaml b/install/helm/gloo/templates/44-gatewayclass.yaml deleted file mode 100644 index e9193995164..00000000000 --- a/install/helm/gloo/templates/44-gatewayclass.yaml +++ /dev/null @@ -1,13 +0,0 @@ -kind: GatewayClass -apiVersion: gateway.networking.k8s.io/v1 -metadata: - labels: - {{- include "gloo-gateway.constLabels" . | nindent 4 }} - name: gloo-gateway -spec: - controllerName: solo.io/gloo-gateway - parametersRef: - group: gateway.gloo.solo.io - kind: GatewayParameters - name: gloo-gateway - namespace: {{ .Release.Namespace }} diff --git a/install/helm/gloo/templates/44-rbac.yaml b/install/helm/gloo/templates/44-rbac.yaml deleted file mode 100644 index 1afd0121d31..00000000000 --- a/install/helm/gloo/templates/44-rbac.yaml +++ /dev/null @@ -1,140 +0,0 @@ -{{- $labels := include "gloo-gateway.constLabels" . | fromYaml }} -{{- $labels = merge $labels (include "gloo-gateway.labels" . | fromYaml) }} -{{- $data := fromYaml (.Files.Get "files/rbac/role.yaml") -}} -{{- $newName := printf "%s.%s" $data.metadata.name .Release.Namespace -}} -{{- $data = mergeOverwrite $data (dict "metadata" (dict "name" $newName)) -}} -{{- $data = mergeOverwrite $data (dict "metadata" (dict "labels" $labels)) -}} -{{ toYaml $data }} ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: {{ include "gloo-gateway.fullname" . }}.{{.Release.Namespace}} - labels: - {{- include "gloo-gateway.constLabels" . | nindent 4 }} - {{- include "gloo-gateway.labels" . | nindent 4 }} -rules: -- apiGroups: - - "gateway.networking.k8s.io" - resources: - - gatewayclasses - - gateways - - tcproutes - - httproutes - - referencegrants - verbs: ["get", "list", "watch"] -- apiGroups: - - "" - resources: - - services - - pods - - nodes - - secrets - - namespaces - verbs: ["get", "list", "watch"] -- apiGroups: - - "discovery.k8s.io" - resources: - - endpointslices - verbs: ["get", "list", "watch"] -- apiGroups: - - "gateway.solo.io" - resources: - - routeoptions - - virtualhostoptions - - listeneroptions - - httplisteneroptions - verbs: ["get", "list", "watch"] -- apiGroups: - - "gateway.networking.k8s.io" - resources: - - gatewayclasses/status - - gateways/status - - httproutes/status - - tcproutes/status - verbs: ["update", "patch"] -- apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: ["get", "list", "watch"] -- apiGroups: - - networking.istio.io - resources: - - destinationrules - verbs: ["get", "list", "watch"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - labels: - {{- include "gloo-gateway.constLabels" . | nindent 4 }} - {{- include "gloo-gateway.labels" . | nindent 4 }} - name: {{ include "gloo-gateway.fullname" . }}.{{.Release.Namespace}}-binding -subjects: -- kind: ServiceAccount - name: gloo - namespace: {{ .Release.Namespace }} -roleRef: - kind: ClusterRole - name: {{ include "gloo-gateway.fullname" . }}.{{.Release.Namespace}} - apiGroup: rbac.authorization.k8s.io ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: {{ include "gloo-gateway.fullname" . }}-deploy.{{.Release.Namespace}} - labels: - {{- include "gloo-gateway.constLabels" . | nindent 4 }} - {{- include "gloo-gateway.labels" . | nindent 4 }} -rules: -- apiGroups: - - "gateway.gloo.solo.io" - resources: - - gatewayparameters - - directresponses - verbs: ["get", "list", "watch"] -- apiGroups: - - "" - resources: - - services - - serviceaccounts - - configmaps - verbs: ["get", "list", "watch", "patch", "create"] -- apiGroups: - - "apps" - resources: - - deployments - verbs: ["get", "list", "watch", "patch", "create"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - labels: - {{- include "gloo-gateway.constLabels" . | nindent 4 }} - {{- include "gloo-gateway.labels" . | nindent 4 }} - name: {{ include "gloo-gateway.fullname" . }}-deploy.{{.Release.Namespace}}-binding -subjects: -- kind: ServiceAccount - name: gloo - namespace: {{ .Release.Namespace }} -roleRef: - kind: ClusterRole - name: {{ include "gloo-gateway.fullname" . }}-deploy.{{.Release.Namespace}} - apiGroup: rbac.authorization.k8s.io ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - labels: - {{- include "gloo-gateway.constLabels" . | nindent 4 }} - {{- include "gloo-gateway.labels" . | nindent 4 }} - name: {{ include "gloo-gateway.fullname" . }}-k8s.{{.Release.Namespace}}-binding -subjects: -- kind: ServiceAccount - name: gloo - namespace: {{ .Release.Namespace }} -roleRef: - kind: ClusterRole - name: k8sgw-controller.{{.Release.Namespace}} - apiGroup: rbac.authorization.k8s.io diff --git a/install/helm/gloo/templates/_8-default-gateways.tpl b/install/helm/gloo/templates/_8-default-gateways.tpl deleted file mode 100644 index 440b8725bd9..00000000000 --- a/install/helm/gloo/templates/_8-default-gateways.tpl +++ /dev/null @@ -1,175 +0,0 @@ -{{- define "defaultGateway.gateway" -}} -{{- $name := (index . 1) }} -{{- $spec := (index . 2) }} -{{- with (first .) }} -{{- $gatewaySettings := $spec.gatewaySettings }} -{{- if $gatewaySettings.enabled }} -apiVersion: gateway.solo.io/v1 -kind: Gateway -metadata: - name: {{ $name | kebabcase }} - namespace: {{ $spec.namespace | default .Release.Namespace }} - labels: -{{ include "gloo.labels" . | indent 4}} -spec: - {{- if $gatewaySettings.ipv4Only }} - bindAddress: "0.0.0.0" - {{- else }} - bindAddress: "::" - {{- end }} - bindPort: {{ $spec.podTemplate.httpPort }} -{{- if $gatewaySettings.httpHybridGateway }} -{{ toYaml $gatewaySettings.httpHybridGateway | indent 2}} -{{- end }} -{{- if $gatewaySettings.customHttpGateway}} - httpGateway: -{{ toYaml $gatewaySettings.customHttpGateway | indent 4}} -{{- else if $spec.tracing }} -{{- if $spec.tracing.provider }} - httpGateway: - options: - httpConnectionManagerSettings: - tracing: -{{ toYaml $spec.tracing.provider | indent 10 }} -{{- end }} -{{- else }} - httpGateway: {} -{{- end }} -{{- if or ($gatewaySettings.options) ($gatewaySettings.accessLoggingService) }} - options: -{{- end }} - {{- if $gatewaySettings.options }} - {{ toYaml $gatewaySettings.options | nindent 4 }} - {{- end }} - {{- if $gatewaySettings.accessLoggingService }} - accessLoggingService: - {{- toYaml $gatewaySettings.accessLoggingService | nindent 6 }} - {{- end }} - useProxyProto: {{ $gatewaySettings.useProxyProto }} - ssl: false - proxyNames: - - {{ $name | kebabcase }} -{{- end }}{{/* $gatewaySettings.enabled */}} -{{- end }}{{/* with */}} -{{- end }}{{/* define "defaultGateway.gateway" */}} - - -{{- define "defaultGateway.sslGateway" -}} -{{- $name := (index . 1) }} -{{- $spec := (index . 2) }} -{{- with (first .) }} -{{- $gatewaySettings := $spec.gatewaySettings }} -{{- if $gatewaySettings.enabled }} -apiVersion: gateway.solo.io/v1 -kind: Gateway -metadata: - name: {{ $name | kebabcase }}-ssl - namespace: {{ $spec.namespace | default .Release.Namespace }} - labels: -{{ include "gloo.labels" . | indent 4}} -spec: - {{- if $gatewaySettings.ipv4Only }} - bindAddress: "0.0.0.0" - {{- else }} - bindAddress: "::" - {{- end }} - bindPort: {{ $spec.podTemplate.httpsPort }} -{{- if $gatewaySettings.httpsHybridGateway }} -{{ toYaml $gatewaySettings.httpsHybridGateway | indent 2}} -{{- end }} -{{- if $gatewaySettings.customHttpsGateway }} - httpGateway: -{{ toYaml $gatewaySettings.customHttpsGateway | indent 4}} -{{- else if $spec.tracing }} -{{- if $spec.tracing.provider }} - httpGateway: - options: - httpConnectionManagerSettings: - tracing: -{{ toYaml $spec.tracing.provider | indent 10 }} -{{- end }}{{/* if $spec.tracing.provider */}} -{{- else }} - httpGateway: {} -{{- end }}{{/* if $gatewaySettings.customHttpsGateway */}} -{{- if or ($gatewaySettings.options) ($gatewaySettings.accessLoggingService) }} - options: -{{- end }} - {{- if $gatewaySettings.options }} - {{ toYaml $gatewaySettings.options | nindent 4 }} - {{- end }} - {{- if $gatewaySettings.accessLoggingService }} - accessLoggingService: - {{- toYaml $gatewaySettings.accessLoggingService | nindent 6 }} - {{- end }} - useProxyProto: {{ $gatewaySettings.useProxyProto }} - ssl: true - proxyNames: - - {{ $name | kebabcase }} -{{- end }}{{/* $gatewaySettings.enabled */}} -{{- end }}{{/* with */}} -{{- end }}{{/* define "defaultGatway.sslGateway" */}} - -{{- define "defaultGateway.failoverGateway" -}} -{{- $name := (index . 1) }} -{{- $spec := (index . 2) }} -{{- with (first .) }} -{{- $gatewaySettings := $spec.gatewaySettings }} -{{- if $gatewaySettings.enabled }} -apiVersion: gateway.solo.io/v1 -kind: Gateway -metadata: - name: {{ $name | kebabcase }}-failover - namespace: {{ $spec.namespace | default .Release.Namespace }} - labels: -{{ include "gloo.labels" . | indent 4}} -spec: -{{- if $gatewaySettings.ipv4Only }} - bindAddress: "0.0.0.0" -{{- else }} - bindAddress: "::" -{{- end }} - bindPort: {{ $spec.failover.port }} - tcpGateway: - tcpHosts: - - name: failover - sslConfig: - secretRef: - name: {{ $spec.failover.secretName }} - namespace: {{ .Release.Namespace }} - destination: - forwardSniClusterName: {} - proxyNames: - - {{ $name | kebabcase }} -{{- end }}{{/* $gatewaySettings.enabled */}} -{{- end }}{{/* with */}} -{{- end }}{{/* define "defaultGateway.failoverGateway" */}} - -{{- define "gloo.customResources.defaultGateways" -}} -{{- $gatewayProxy := .Values.gatewayProxies.gatewayProxy }} -{{- range $name, $gatewaySpec := .Values.gatewayProxies }} -{{- $spec := include "gloo.util.mergeOverwriteWithOmit" (list $gatewaySpec $gatewayProxy) | fromJson }} -{{- $gatewaySettings := $spec.gatewaySettings }} -{{- if and $spec.gatewaySettings (not $gatewaySpec.disabled) }} -{{- $ctx := (list $ $name $spec) }} -{{- if not $gatewaySettings.disableGeneratedGateways }} -{{- if not $gatewaySettings.disableHttpGateway }} -{{- $defaultGatewayOverride := $spec.gatewaySettings.httpGatewayKubeOverride }} ---- -{{ include "gloo.util.merge" (list $ctx $defaultGatewayOverride "defaultGateway.gateway") -}} -{{- end }}{{/* if not $gatewaySettings.disableHttpGateway */}} -{{- if not $gatewaySettings.disableHttpsGateway }} -{{- $sslGatewayOverride := $spec.gatewaySettings.httpsGatewayKubeOverride }} ---- -{{ include "gloo.util.merge" (list $ctx $sslGatewayOverride "defaultGateway.sslGateway") -}} -{{- end }}{{/* if not $gatewaySettings.disableHttpsGateway */}} -{{- end }}{{/* if not $gatewaySettings.disableGeneratedGateways */}} -{{- if $spec.failover }} -{{- if $spec.failover.enabled }} -{{- $failoverGatewayOverride := $spec.failover.kubeResourceOverride }} ---- -{{ include "gloo.util.merge" (list $ctx $failoverGatewayOverride "defaultGateway.failoverGateway") -}} -{{- end }}{{/* if $spec.failover.enabled */}} -{{- end }}{{/* if $spec.failover */}} -{{- end }}{{/* if $spec.gatewaySettings and (not $spec.disabled) */}} -{{- end }}{{/* range gateways */}} -{{- end }}{{/* define "gloo.customResources.defaultGateways" */}} diff --git a/install/helm/gloo/templates/_custom-resources.tpl b/install/helm/gloo/templates/_custom-resources.tpl deleted file mode 100644 index 16108fc3b1a..00000000000 --- a/install/helm/gloo/templates/_custom-resources.tpl +++ /dev/null @@ -1,11 +0,0 @@ -{{/* vim: set filetype=mustache: */}} - -{{/* -Render Gloo Edge custom resources. This is done in a helper function, rather than included as a template, -to ensure that we don't try to apply the custom resources before the service backing the validation webhook -is ready. -When adding a new CR to the helm chart, the template should be included here. -*/}} -{{- define "gloo.customResources" -}} -{{- include "gloo.customResources.defaultGateways" . }} -{{ end }} diff --git a/install/helm/gloo/templates/_gg-helpers.tpl b/install/helm/gloo/templates/_gg-helpers.tpl deleted file mode 100644 index 2a5241a76c2..00000000000 --- a/install/helm/gloo/templates/_gg-helpers.tpl +++ /dev/null @@ -1,61 +0,0 @@ -{{/* -Create chart name and version as used by the chart label. -*/}} -{{- define "gloo-gateway.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Expand the name of the chart. -*/}} -{{- define "gloo-gateway.name" -}} -{{- .Chart.Name | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Create a default fully qualified app name. -We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). -*/}} -{{- define "gloo-gateway.fullname" -}} -{{- .Release.Name | printf "glood-%s" | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Common labels -*/}} -{{- define "gloo-gateway.labels" -}} -helm.sh/chart: {{ include "gloo-gateway.chart" . }} -app.kubernetes.io/name: {{ include "gloo-gateway.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} - -{{/* -Constant labels - labels that are stable across releases -We want this label to remain constant as it is used in glooctl version. -*/}} -{{- define "gloo-gateway.constLabels" -}} -gloo: kube-gateway -{{- end }} - -{{/* -Images valid for the GatewayParameters -ref Image api in projects/gateway2/api/v1alpha1/kube/container.proto -*/}} -{{- define "gloo-gateway.gatewayParametersImage" -}} -{{- $image := . -}} -{{- if $image.registry }} -registry: {{ $image.registry }} -{{- end -}}{{/* if $image.registry */}} -{{- if $image.repository }} -repository: {{ $image.repository }} -{{- end -}}{{/* if $image.repository */}} -{{- if $image.tag }} -tag: {{ $image.tag }} -{{- end -}}{{/* if $image.tag */}} -{{- if $image.digest }} -digest: {{ $image.digest }} -{{- end -}}{{/* if $image.digest */}} -{{- if $image.pullPolicy }} -pullPolicy: {{ $image.pullPolicy }} -{{- end -}}{{/* if $image.pullPolicy */}} -{{- end }} diff --git a/install/helm/gloo/templates/_helpers.tpl b/install/helm/gloo/templates/_helpers.tpl deleted file mode 100644 index af7bf19e4b8..00000000000 --- a/install/helm/gloo/templates/_helpers.tpl +++ /dev/null @@ -1,388 +0,0 @@ -{{/* vim: set filetype=mustache: */}} - -{{- /* -There can be cases when we do not want to overwrite an empty value on a resource when merged. -Eg. To generate a proxy config, we mergeOverwrite it with the default gateway-proxy config. -If we want to preserve the empty value of the gateway and not have them overwritten, we set it to `gloo.omitOverwrite` -and call `gloo.util.mergeOverwriteWithOmit` when merging. This sets all fields with values equal to this back to empty after the overwrite -*/ -}} -{{- define "gloo.omitOverwrite" }} -{{ printf "\n" }}{{/* This template is set to a new line. There may be scenarios where a field is initailly set to this value and the same field is appended to later on. Since this is just a new line, it won't cause rendering issues */}} -{{ end -}} -{{- define "gloo.roleKind" -}} -{{- if .Values.global.glooRbac.namespaced -}} -Role -{{- else -}} -ClusterRole -{{- end -}} -{{- end -}} - -{{- define "gloo.rbacNameSuffix" -}} -{{- if .Values.global.glooRbac.nameSuffix -}} --{{ .Values.global.glooRbac.nameSuffix }} -{{- else if not .Values.global.glooRbac.namespaced -}} --{{ .Release.Namespace }} -{{- end -}} -{{- end -}} - -{{/* -Construct a container image name from a registry, repository, tag, and digest. -*/}} -{{- define "gloo.image" -}} -{{- $image := printf "%s/%s" .registry .repository -}} - -{{- /* -for fips or fips-distroless variants: add -fips to the image repo (name) -*/ -}} -{{- if or .fips (has .variant (list "fips" "fips-distroless")) -}} -{{- $fipsSupportedImages := list "gloo-ee" "extauth-ee" "gloo-ee-envoy-wrapper" "rate-limit-ee" "discovery-ee" "sds-ee" -}} -{{- if (has .repository $fipsSupportedImages) -}} -{{- $image = printf "%s-fips" $image -}} -{{- end -}}{{- /* if (has .repository $fipsSupportedImages) */ -}} -{{- end -}}{{- /* if or .fips (has .variant (list "fips" "fips-distroless")) */ -}} - -{{- /* -add tag, if it exists -*/ -}} -{{- if .tag -}} -{{- $image = printf "%s:%s" $image .tag -}} -{{- end -}}{{- /* if .tag */ -}} - -{{- /* -for distroless or fips-distroless variants: add -distroless to the tag -*/ -}} -{{- if and .tag (has .variant (list "distroless" "fips-distroless")) -}} -{{- $distrolessSupportedImages := list "gloo" "gloo-envoy-wrapper" "discovery" "sds" "certgen" "kubectl" "access-logger" "ingress" "gloo-ee" "extauth-ee" "gloo-ee-envoy-wrapper" "rate-limit-ee" "discovery-ee" "sds-ee" "observability-ee" "caching-ee" -}} -{{- if (has .repository $distrolessSupportedImages) -}} -{{- $image = printf "%s-distroless" $image -}} {{- /* Add distroless suffix to the tag since it contains the same binaries in a different container */ -}} -{{- end -}}{{- /* if (has .repository $distrolessSupportedImages) */ -}} -{{- end -}}{{- /* if and .tag (has .variant (list "distroless" "fips-distroless")) */ -}} - -{{- /* -add digest for the chosen variant, if it exists -*/ -}} -{{- if or .fips (eq .variant "fips") -}} - {{- if .fipsDigest -}} - {{- $image = printf "%s@%s" $image .fipsDigest -}} - {{- end -}}{{- /* if .fipsDigest */ -}} -{{- else if eq .variant "distroless" -}} - {{- if .distrolessDigest -}} - {{- $image = printf "%s@%s" $image .distrolessDigest -}} - {{- end -}}{{- /* if .distrolessDigest */ -}} -{{- else if eq .variant "fips-distroless" -}} - {{- if .fipsDistrolessDigest -}} - {{- $image = printf "%s@%s" $image .fipsDistrolessDigest -}} - {{- end -}}{{- /* if .fipsDistrolessDigest */ -}} -{{- else -}} - {{- if .digest -}}{{- /* standard image digest */ -}} - {{- $image = printf "%s@%s" $image .digest -}} - {{- end -}}{{- /* if .digest */ -}} -{{- end -}} -{{ $image }} -{{- end -}}{{- /* define "gloo.image" */ -}} - - -{{- define "gloo.pullSecret" -}} -{{- if .pullSecret -}} -imagePullSecrets: -- name: {{ .pullSecret }} -{{ end -}} -{{- end -}} - - -{{- define "gloo.podSpecStandardFields" -}} -{{- with .nodeName -}} -nodeName: {{ . }} -{{ end -}} -{{- with .nodeSelector -}} -nodeSelector: {{ toYaml . | nindent 2 }} -{{ end -}} -{{- with .tolerations -}} -tolerations: {{ toYaml . | nindent 2 }} -{{ end -}} -{{- with .hostAliases -}} -hostAliases: {{ toYaml . | nindent 2 }} -{{ end -}} -{{- with .affinity -}} -affinity: {{ toYaml . | nindent 2 }} -{{ end -}} -{{- with .restartPolicy -}} -restartPolicy: {{ . }} -{{ end -}} -{{- with .priorityClassName -}} -priorityClassName: {{ . }} -{{ end -}} -{{- with .initContainers -}} -initContainers: {{ toYaml . | nindent 2 }} -{{ end -}} -{{- end -}} - - -{{- define "gloo.jobHelmDeletePolicySucceeded" -}} -{{- /* include a hook delete policy unless setTtlAfterFinished is either undefined or true and - ttlSecondsAfterFinished is set. The 'kindIs' comparision is how we can check for - undefined */ -}} -{{- if not (and .ttlSecondsAfterFinished (or (kindIs "invalid" .setTtlAfterFinished) .setTtlAfterFinished)) -}} -"helm.sh/hook-delete-policy": hook-succeeded -{{ end -}} -{{ end -}} - -{{- define "gloo.jobHelmDeletePolicySucceededAndBeforeCreation" -}} -{{- /* include hook delete policy based on whether setTtlAfterFinished is undefined or equal to - true. If it is the case, only delete explicitly before hook creation. Otherwise, also - delete also on success. The 'kindIs' comparision is how we can check for undefined */ -}} -{{- if and .ttlSecondsAfterFinished (or (kindIs "invalid" .setTtlAfterFinished) .setTtlAfterFinished) -}} -"helm.sh/hook-delete-policy": before-hook-creation -{{- else -}} -"helm.sh/hook-delete-policy": hook-succeeded,before-hook-creation -{{ end -}} -{{ end -}} - -{{- define "gloo.jobSpecStandardFields" -}} -{{- with .activeDeadlineSeconds -}} -activeDeadlineSeconds: {{ . }} -{{ end -}} -{{- with .backoffLimit -}} -backoffLimit: {{ . }} -{{ end -}} -{{- with .completions -}} -completions: {{ . }} -{{ end -}} -{{- with .manualSelector -}} -manualSelector: {{ . }} -{{ end -}} -{{- with .parallelism -}} -parallelism: {{ . }} -{{ end -}} -{{- /* include ttlSecondsAfterFinished if setTtlAfterFinished is undefined or equal to true. - The 'kindIs' comparision is how we can check for undefined */ -}} -{{- if or (kindIs "invalid" .setTtlAfterFinished) .setTtlAfterFinished -}} -{{- with .ttlSecondsAfterFinished -}} -ttlSecondsAfterFinished: {{ . }} -{{ end -}} -{{- end -}} -{{- end -}} - -{{- /* -This template is used to generate the gloo pod or container security context. -It takes 4 values: - .values - the securityContext passed from the user in values.yaml - .defaults - the default securityContext for the pod or container - .globalSec - global security settings, usually from .Values.global.securitySettings - .indent - the number of spaces to indent the output. If not set, the output will not be indented. - The indentation argument is necessary because it is possible that no output will be rendered. - If that happens and the caller handles the indentation the result will be a line of whitespace, which gets caught by the whitespace tests - - Depending upon the value of .values.merge, the securityContext will be merged with the defaults or completely replaced. - In a merge, the values in .values will override the defaults, following the logic of helm's merge function. -Because of this, if a value is "true" in defaults it can not be modified with this method. -*/ -}} -{{- define "gloo.securityContext" }} -{{- /* Move input parameters to non-null variables */ -}} -{{- $defaults := dict -}} -{{- if .defaults -}} - {{- $defaults = .defaults -}} -{{- end -}} -{{- $values := dict -}} -{{- if .values -}} - {{- $values = .values -}} -{{- end -}} -{{- $globalSec := dict -}} -{{- if .globalSec -}} - {{- $globalSec = .globalSec -}} -{{- end -}} -{{ $indent := 0}} -{{- if .indent -}} - {{- $indent = .indent -}} -{{- end -}} -{{- /* create $overwrite and set it based on the merge-policy */ -}} -{{- $overwrite := true -}} -{{- if $values.mergePolicy }} - {{- if eq $values.mergePolicy "helm-merge" -}} - {{- $overwrite = false -}} - {{- else if ne $values.mergePolicy "no-merge" -}} - {{- fail printf "value '%s' is not an allowed value for mergePolicy. Allowed values are 'no-merge', 'helm-merge', or an empty string" $values.mergePolicy }} - {{- end -}} -{{- end -}} -{{- /* create $securityContext and combine with $defaults based on teh value of $overwrite */ -}} -{{- $securityContext := dict -}} -{{- if $overwrite -}} - {{- $securityContext = or $values $defaults (dict) -}} -{{- else -}} - {{- $securityContext = merge $values $defaults -}} -{{- end }} -{{- /* Apply global overrides */ -}} -{{- with $globalSec -}} - {{- if .floatingUserId -}} - {{- $_ := unset $securityContext "runAsUser" -}} - {{- end -}} -{{- end -}} -{{- /* Remove "mergePolicy" if it exists because it is not a part of the kubernetes securityContext definition */ -}} -{{- $securityContext = omit $securityContext "mergePolicy" -}} -{{- with $securityContext -}} - {{- $toRender := dict "securityContext" $securityContext -}} - {{- toYaml $toRender | nindent $indent -}} -{{- end }} -{{- end }} - - -{{- /* -This template is used to generate the container security context. -It takes 4 values: - .values - the securityContext passed from the user in values.yaml - .defaults - the default securityContext for the pod or container - .podSecurityStandards - podSecurityStandard from values.yaml - .globalSec - global security settings, usually from .Values.global.securitySettings - .indent - the number of spaces to indent the output. If not set, the output will not be indented. - The indentation argument is necessary because it is possible that no output will be rendered. - If that happens and the caller handles the indentation the result will be a line of whitespace, which gets caught by the whitespace tests - - If .podSecurityStandards.container.enableRestrictedContainerDefaults is true, the defaults will be set to a restricted set of values. - .podSecurityStandards.container.defaultSeccompProfileType can be used to set the seccompProfileType. -*/ -}} -{{- define "gloo.containerSecurityContext" -}} -{{- /* Move input parameters to non-null variables */ -}} -{{- $defaults := dict -}} -{{- if .defaults -}} - {{- $defaults = .defaults -}} -{{- end -}} -{{- $values := dict -}} -{{- if .values -}} - {{- $values = .values -}} -{{- end -}} -{{ $indent := 0}} -{{- if .indent -}} - {{- $indent = .indent -}} -{{- end -}} -{{ $pss := dict }} -{{- if .podSecurityStandards -}} - {{- $pss = .podSecurityStandards -}} -{{- end -}} -{{- /* set default seccompProfileType */ -}} - -{{- $pss_restricted_defaults := dict - "runAsNonRoot" true - "capabilities" (dict "drop" (list "ALL")) - "allowPrivilegeEscalation" false }} -{{- /* set defaults if appropriate */ -}} -{{- if $pss.container -}} - {{/* Set the default seccompProfileType */}} - {{- $defaultSeccompProfileType := "RuntimeDefault"}} - {{- if $pss.container.defaultSeccompProfileType -}} - {{- $defaultSeccompProfileType = $pss.container.defaultSeccompProfileType -}} - {{- if and (ne $defaultSeccompProfileType "RuntimeDefault") (ne $defaultSeccompProfileType "Localhost") -}} - {{- fail printf "value '%s' is not an allowed value for defaultSeccompProfileType. Allowed values are 'RuntimeDefault' or 'Localhost'" . }} - {{- end -}} - {{- end -}} - {{- $_ := set $pss_restricted_defaults "seccompProfile" (dict "type" $defaultSeccompProfileType) -}} - {{- if $pss.container.enableRestrictedContainerDefaults -}} - {{- $defaults = merge $defaults $pss_restricted_defaults -}} - {{- end -}} -{{- end -}} -{{- /* call general securityContext template */ -}} -{{- include "gloo.securityContext" (dict - "values" $values - "defaults" $defaults - "indent" $indent - "globalSec" .globalSec) -}} -{{- end -}} - - -{{- /* -This takes an array of three values: -- the top context -- the yaml block that will be merged in (override) -- the name of the base template (source) - -note: the source must be a named template (helm partial). This is necessary for the merging logic. - -The behaviour is as follows, to align with already existing helm behaviour: -- If no source is found (template is empty), the merged output will be empty -- If no overrides are specified, the source is rendered as is -- If overrides are specified and source is not empty, overrides will be merged in to the source. - -Overrides can replace / add to deeply nested dictionaries, but will completely replace lists. -Examples: - -┌─────────────────────┬───────────────────────┬────────────────────────┐ -│ Source (template) │ Overrides │ Result │ -├─────────────────────┼───────────────────────┼────────────────────────┤ -│ metadata: │ metadata: │ metadata: │ -│ labels: │ labels: │ labels: │ -│ app: gloo │ app: gloo1 │ app: gloo1 │ -│ cluster: useast │ author: infra-team │ author: infra-team │ -│ │ │ cluster: useast │ -├─────────────────────┼───────────────────────┼────────────────────────┤ -│ lists: │ lists: │ lists: │ -│ groceries: │ groceries: │ groceries: │ -│ - apple │ - grapes │ - grapes │ -│ - banana │ │ │ -└─────────────────────┴───────────────────────┴────────────────────────┘ - -gloo.util.merge is a fork of a helm library chart function (https://github.com/helm/charts/blob/main/incubator/common/templates/_util.tpl). -This includes some optimizations to speed up chart rendering time, and merges in a value (overrides) with a named template, unlike the upstream -version, which merges two named templates. - -*/ -}} -{{- define "gloo.util.merge" -}} -{{- $top := first . -}} -{{- $overrides := (index . 1) -}} -{{- $tpl := fromYaml (include (index . 2) $top) -}} -{{- if or (empty $overrides) (empty $tpl) -}} -{{- include (index . 2) $top -}}{{/* render source as is */}} -{{- else -}} -{{- $merged := mergeOverwrite $tpl $overrides -}} -{{- toYaml $merged -}} {{/* render source with overrides as YAML */}} -{{- end -}} -{{- end -}} - -{{/* -Returns the unique Gateway namespaces as defined by the helm values. -*/}} -{{- define "gloo.gatewayNamespaces" -}} -{{- $proxyNamespaces := list -}} -{{- range $key, $gatewaySpec := .Values.gatewayProxies -}} - {{- $ns := $gatewaySpec.namespace | default $.Release.Namespace -}} - {{- $proxyNamespaces = append $proxyNamespaces $ns -}} -{{- end -}} -{{- $proxyNamespaces = $proxyNamespaces | uniq -}} -{{ toJson $proxyNamespaces }} -{{- end -}} - - -{{/* -Generated the "operations" array for a resource for the ValidatingWebhookConfiguration -Arguments are a resource name, and a list of resources for which to skip webhook validation for DELETEs -This list is expected to come from `gateway.validation.webhook.skipDeleteValidationResources` -If the resource is in the list, or the list contains "*", it will generate ["Create", "Update"] -Otherwise it will generate ["Create", "Update", "Delete"] -*/}} -{{- define "gloo.webhookvalidation.operationsForResource" -}} -{{- $resource := first . -}} -{{- $skip := or (index . 1) list -}} -{{- $operations := list "CREATE" "UPDATE" -}} -{{- if not (or (has $resource $skip) (has "*" $skip)) -}} - {{- $operations = append $operations "DELETE" -}} -{{- end -}} -{{ toJson $operations -}} -{{- end -}} - -{{- define "gloo.util.mergeOverwriteWithOmit" -}} -{{- $resource := first . -}} -{{- $overwrite := index . 1 -}} -{{- $result := deepCopy $resource | mergeOverwrite (deepCopy $overwrite) -}} -{{- range $key, $value := $result }} - {{- if eq (toString $value) "gloo.omitOverwrite" -}} - {{- $_ := unset $result $key }} - {{- end -}} -{{- end -}} -{{ toJson $result }} -{{- end -}} - -{{/* Additional labels added to every resource */}} -{{- define "gloo.labels" -}} -app: gloo -{{- with .Values.global.additionalLabels | default dict }} -{{ toYaml . }} -{{- end }} -{{- end }} diff --git a/install/helm/gloo/templates/_test_helpers.tpl b/install/helm/gloo/templates/_test_helpers.tpl deleted file mode 100644 index 9ac04f7c437..00000000000 --- a/install/helm/gloo/templates/_test_helpers.tpl +++ /dev/null @@ -1,30 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} - -{{- define "gloo.testcontainer" -}} -- name: nginx - image: nginx:1.7.9 - ports: - - containerPort: 80 -{{- end }} - -{{/* -Test that extraListenersHelper is rendered correctly -*/}} -{{- define "gloo.testlistener" -}} -- name: test_listener -{{- end -}} - -{{- define "gloo.testVolume" -}} -- hostPath: - path: /var/run/sds - name: sds-uds-path -{{- end }} - -{{- define "gloo.testVolumeMount" -}} -- mountPath: /var/run/sds - name: sds-uds-path -{{- end }} - diff --git a/install/helm/gloo/values-template.yaml b/install/helm/gloo/values-template.yaml deleted file mode 100644 index 318e5e810d0..00000000000 --- a/install/helm/gloo/values-template.yaml +++ /dev/null @@ -1,328 +0,0 @@ -namespace: - create: false -k8s: - clusterName: cluster.local - -# Default values for the Gloo Gateway - Kubernetes Gateway API integration -kubeGateway: - # disable the integration by default, since it requires extra steps to set up (i.e. applying Gateway API CRDs) - enabled: false - gatewayParameters: - glooGateway: - envoyContainer: - image: - repository: gloo-envoy-wrapper - securityContext: - allowPrivilegeEscalation: false - readOnlyRootFilesystem: true - runAsNonRoot: true - runAsUser: 10101 - capabilities: - drop: - - ALL - add: - - NET_BIND_SERVICE - # If proxyDeployment or proxyDeployment.replicas are null, a default of 1 will be - # imposed by the template. - proxyDeployment: - replicas: 1 - # If service or service.type are null, a default of LoadBalancer will be - # imposed by the template. - service: - type: LoadBalancer - sdsContainer: - image: - repository: sds - logLevel: info - istio: - istioProxyContainer: - image: - repository: proxyv2 - registry: docker.io/istio - tag: 1.22.0 - logLevel: warning - istioDiscoveryAddress: istiod.istio-system.svc:15012 - istioMetaMeshId: cluster.local - istioMetaClusterId: Kubernetes - aiExtension: - enabled: false - image: - repository: gloo-ai-extension - registry: quay.io/solo-io - pullPolicy: IfNotPresent - env: [] - ports: [] - stats: - enabled: true - routePrefixRewrite: "/stats/prometheus" - enableStatsRoute: true - statsRoutePrefixRewrite: "/stats" - portal: - enabled: false - -settings: - # if this is set to false, default settings will be created by pods upon boot - create: true - linkerd: false - enableRestEds: false - aws: {} - invalidConfigPolicy: - replaceInvalidRoutes: false - invalidRouteResponseCode: 404 - invalidRouteResponseBody: 'Gloo Gateway has invalid configuration. Administrators should run `glooctl check` to find and fix config errors.' - integrations: - knative: - enabled: false - version: "0.10.0" - proxy: - loopBackAddress: 127.0.0.1 - image: - repository: gloo-envoy-wrapper - httpPort: 8080 - httpsPort: 8443 - replicas: 1 - runAsUser: 10101 - service: - type: LoadBalancer - extraAnnotations: {} - httpPort: 80 - httpsPort: 443 - # Namespaces that Gloo should watch. This includes watches set for pods, services, as well as CRD configuration objects. - watchNamespaces: [] - # Gloo allows you to directly reference a Kubernetes service as a routing destination. To enable this feature, - # Gloo scans the cluster for Kubernetes services and creates a special type of in-memory Upstream to represent them. - # If the cluster contains a lot of services and you do not restrict the namespaces Gloo is watching, this can result - # in significant overhead. If you do not plan on using this feature, you can set this flag to true to turn it off. - disableKubernetesDestinations: false - # Set this option to determine the state of an Envoy listener when the corresponding Gloo Proxy resource has no routes. - # If false (default), Gloo will propagate the state of the Proxy to Envoy, resetting the listener to a clean slate with no routes. - # If true, Gloo will keep serving the routes from the last applied valid configuration. - disableProxyGarbageCollection: false - # Envoy default max program size is 100 which is too often not enough for users. We will set all users to base value of 1024 - # This can be overriden if users wish to be more stringent - regexMaxProgramSize: 1024 -gloo: - deployment: - image: - repository: gloo - xdsPort: 9977 - restXdsPort: 9976 - validationPort: 9988 - proxyDebugPort: 9966 - replicas: 1 - runAsUser: 10101 - serviceAccount: {} -discovery: - enabled: true - fdsMode: WHITELIST - serviceAccount: {} - deployment: - image: - repository: discovery - replicas: 1 - runAsUser: 10101 - enablePodSecurityContext: true - fsGroup: 10101 -gateway: - enabled: true - translateEmptyGateways: false - readGatewaysFromAllNamespaces: false - isolateVirtualHostsBySslConfig: false - validation: - enabled: true - failurePolicy: "Ignore" - # This is the recommended setting because if it set to "Fail" modifications to core resources such as secrets and namespace that are defined - # in the validating webhook will be blocked if the Gloo Service is not available. - kubeCoreFailurePolicy: "Ignore" - secretName: gateway-validation-certs - alwaysAcceptResources: true - allowWarnings: true - warnMissingTlsSecret: true - serverEnabled: true - disableTransformationValidation: false - warnRouteShortCircuiting: false - validationServerGrpcMaxSizeBytes: 104857600 - webhook: - enabled: true - disableHelmHook: false - extraAnnotations: {} - # We have learned that defaulting validation behavior leads to unintentional usage of it - # https://github.com/solo-io/gloo/issues/9309 - # As a result, for our Policy API, we default it to on, and provide users the way to opt-out of it - enablePolicyApi: true - fullEnvoyValidation: false - certGenJob: - enabled: true - image: - repository: certgen - restartPolicy: OnFailure - setTtlAfterFinished: true - ttlSecondsAfterFinished: 60 - runAsUser: 10101 - forceRotation: true - rotationDuration: 65s - cron: - enabled: false - schedule: "* * * * *" - runOnUpdate: false - rolloutJob: - enabled: true - image: - repository: kubectl - restartPolicy: OnFailure - runAsUser: 10101 - # When adding the --wait && --wait-for-jobs flag in helm, sometimes the job can complete and be deleted before helm can check if it has finished (for instance, while helm is waiting on a deployment). - # So set this to a higher value where it should still be around after all the other resources are ready - ttlSecondsAfterFinished: 300 - timeout: 120 - cleanupJob: - enabled: true - image: - repository: kubectl - restartPolicy: OnFailure - runAsUser: 10101 - ttlSecondsAfterFinished: 60 - proxyServiceAccount: {} -gatewayProxies: - gatewayProxy: - envoyApiVersion: V3 - gatewaySettings: - enabled: true - useProxyProto: false - failover: - enabled: false - port: 15443 - secretName: failover-downstream - istioDiscoveryAddress: istiod.istio-system.svc:15012 - kind: - deployment: - replicas: 1 - podTemplate: - probes: false - image: - repository: gloo-envoy-wrapper - httpPort: 8080 - httpsPort: 8443 - runAsUser: 10101 - enablePodSecurityContext: true - fsGroup: 10101 - runUnprivileged: true - disableNetBind: true - gracefulShutdown: - enabled: false - sleepTimeSeconds: 25 - customReadinessProbe: {} - customLivenessProbe: {} - service: - customPorts: [] - type: LoadBalancer - # clusterIP: None - httpPort: 80 - httpsPort: 443 - # Annotation example: setup ssl with aws cert when service.type is LoadBalancer - # extraAnnotations: - # service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:us-east-1:EXAMPLE_CERT - tracing: - configMap: - data: - loopBackAddress: 127.0.0.1 - envoyOverloadManager: - enabled: false - actions: [] - bufferFactoryConfig: - refreshInterval: 1s - resourceMonitors: [] - globalDownstreamMaxConnections: 250000 - healthyPanicThreshold: 50 - tcpKeepaliveTimeSeconds: 60 - disableCoreDumps: false - disableExtauthSidecar: false - # intentionally unset, so we default to the gloo service address. if set, this overrides the derived gloo service address - # xdsServiceAddress: xds-relay.default.svc.cluster.local - # intentionally unset, so we default to the gloo service port. if set, this overrides .Values.gloo.deployment.xdsPort - # xdsServicePort: 9991 -accessLogger: - enabled: false - port: 8083 - serviceName: AccessLog - image: - repository: access-logger - runAsUser: 10101 - replicas: 1 - stats: - enabled: true -ingress: - enabled: false - deployment: - image: - repository: ingress - replicas: 1 - runAsUser: 10101 -ingressProxy: - # Set to a unique value to allow using several ingress proxy instances in the same cluster. - label: ingress-proxy - loopBackAddress: 127.0.0.1 - deployment: - image: - repository: gloo-envoy-wrapper - httpPort: 8080 - httpsPort: 8443 - replicas: 1 - runAsUser: 10101 - service: - type: LoadBalancer - extraAnnotations: {} - httpPort: 80 - httpsPort: 443 - configMap: - data: - tracing: -global: - image: - registry: ghcr.io/kgateway - pullPolicy: IfNotPresent - glooRbac: - create: true - namespaced: false - glooStats: - enabled: true - routePrefixRewrite: /stats/prometheus - setDatadogAnnotations: false - enableStatsRoute: false - statsPrefixRewrite: /stats - glooMtls: - enabled: false - sds: - image: - repository: sds - logLevel: info - istioProxy: - image: - repository: proxyv2 - registry: docker.io/istio - tag: 1.22.0 - logLevel: warning - envoy: - image: - repository: gloo-envoy-wrapper - istioSDS: - enabled: false - istioIntegration: - enabled: false - disableAutoinjection: false - enableAutoMtls: false - # To be deprecated in future release - labelInstallNamespace: false - # To be deprecated in future release - whitelistDiscovery: false - # To be deprecated in future release - enableIstioSidecarOnGateway: false - # To be deprecated in future release - appendXForwardedHost: true - # AddEnterpriseSettings and extauthCustomYaml control differences in the settings manifest between open source and enterprise - AddEnterpriseSettings: false - extauthCustomYaml: true - # additionalLabels adds a label to all object metadata - additionalLabels: {} - # securitySettings defines global security settings such as `floatingUserId` - securitySettings: {}