# CRD validation schema generated by solo-kit. DO NOT EDIT. apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: 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: 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: 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 extProcEarly: 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 extProcLate: 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 trackRemaining: type: boolean type: object disableGrpcWeb: nullable: true type: boolean disableKubernetesDestinations: type: boolean disableProxyGarbageCollection: nullable: true type: boolean enableAutoWebsocketTransformationPassthrough: 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 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: []