apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: creationTimestamp: "2023-06-01T14:30:01Z" generation: 1 name: authconfigs.enterprise.gloo.solo.io resourceVersion: "3708662" uid: 1ac53076-42e5-47c3-809c-b10c99382eb3 spec: conversion: strategy: None group: enterprise.gloo.solo.io names: kind: AuthConfig listKind: AuthConfigList plural: authconfigs shortNames: - ac singular: authconfig scope: Namespaced versions: - name: v1 schema: openAPIV3Schema: properties: spec: properties: booleanExpr: nullable: true type: string configs: items: properties: apiKeyAuth: properties: 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 labelSelector: additionalProperties: type: string type: object type: object basicAuth: properties: apr: properties: users: additionalProperties: properties: hashedPassword: type: string salt: type: string type: object type: object type: object realm: type: string type: object jwt: maxProperties: 0 type: object ldap: properties: address: type: string allowedGroups: items: type: string type: array 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 userDnTemplate: type: string 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 type: object oauth2: properties: accessTokenValidation: properties: cacheTimeout: type: string introspection: properties: clientId: type: string clientSecretRef: properties: name: type: string namespace: type: string type: object introspectionUrl: type: string userIdAttributeName: type: string type: object introspectionUrl: type: string jwt: properties: issuer: type: string localJwks: properties: inlineString: type: string type: object remoteJwks: properties: refreshInterval: type: string url: type: string type: object type: object requiredScopes: properties: scope: items: type: string type: array type: object userinfoUrl: type: string type: object oidcAuthorizationCode: properties: afterLogoutUrl: type: string 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 discoveryOverride: properties: authEndpoint: type: string authMethods: items: type: string type: array claims: items: type: string type: array idTokenAlgs: items: type: string type: array jwksUri: type: string responseTypes: items: type: string type: array scopes: items: type: string type: array subjects: items: type: string type: array tokenEndpoint: type: string type: object discoveryPollInterval: type: string headers: properties: accessTokenHeader: type: string idTokenHeader: type: string type: object issuerUrl: type: string jwksCacheRefreshPolicy: properties: always: maxProperties: 0 type: object maxIdpReqPerPollingInterval: format: int32 type: integer never: maxProperties: 0 type: object type: object logoutPath: type: string scopes: items: type: string type: array session: properties: cookie: type: object cookieOptions: properties: domain: type: string maxAge: maximum: 4294967295 minimum: 0 nullable: true type: integer notSecure: type: boolean path: nullable: true type: string type: object failOnFetchFailure: type: boolean redis: properties: allowRefreshing: nullable: true type: boolean cookieName: type: string keyPrefix: type: string options: properties: db: format: int32 type: integer host: type: string poolSize: format: int32 type: integer type: object type: object type: object sessionIdHeaderName: type: string tokenEndpointQueryParams: additionalProperties: type: string type: object type: object type: object opaAuth: properties: modules: items: properties: name: type: string namespace: type: string type: object type: array options: properties: fastInputConversion: type: boolean type: object query: type: string type: object passThroughAuth: properties: config: type: object x-kubernetes-preserve-unknown-fields: true grpc: properties: address: type: string connectionTimeout: type: string 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 readStateFromResponse: type: boolean type: object url: type: string type: object type: object pluginAuth: properties: config: type: object x-kubernetes-preserve-unknown-fields: true exportedSymbolName: type: string name: type: string pluginFileName: type: string type: object type: object type: array namespacedStatuses: properties: statuses: additionalProperties: type: object x-kubernetes-preserve-unknown-fields: true type: object type: object type: object status: type: object x-kubernetes-preserve-unknown-fields: true type: object served: true storage: true status: acceptedNames: kind: AuthConfig listKind: AuthConfigList plural: authconfigs shortNames: - ac singular: authconfig conditions: - lastTransitionTime: "2023-06-01T14:30:01Z" message: no conflicts found reason: NoConflicts status: "True" type: NamesAccepted - lastTransitionTime: "2023-06-01T14:30:01Z" message: the initial names have been accepted reason: InitialNamesAccepted status: "True" type: Established storedVersions: - v1 --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: creationTimestamp: "2023-06-01T14:30:02Z" generation: 1 name: proxies.gloo.solo.io resourceVersion: "3708693" uid: 4b54bbae-72c6-4576-8f6f-e539f03c9efe spec: conversion: strategy: None group: gloo.solo.io names: kind: Proxy listKind: ProxyList plural: proxies shortNames: - px singular: proxy scope: Namespaced versions: - name: v1 schema: openAPIV3Schema: properties: spec: properties: compressedSpec: type: string listeners: items: properties: bindAddress: type: string bindPort: format: int32 type: integer httpListener: properties: options: properties: buffer: properties: maxRequestBytes: 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: format: int32 type: integer type: object runtimeKey: type: string type: object shadowEnabled: properties: defaultValue: properties: denominator: type: string x-kubernetes-int-or-string: true numerator: format: int32 type: integer type: object runtimeKey: type: string type: object type: object 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: format: int32 type: integer type: object type: array type: object shadow: type: boolean type: object type: array matcher: properties: caseSensitive: nullable: true type: boolean 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 extauth: properties: clearRouteCache: type: boolean extauthzServerRef: properties: name: type: string namespace: type: string type: object failureModeAllow: type: boolean 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 type: object type: object requestBody: properties: allowPartialMessage: type: boolean maxRequestBytes: format: int32 type: integer packAsBytes: type: boolean type: object requestTimeout: type: string statPrefix: type: string statusOnError: format: int32 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 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 healthCheck: properties: path: type: string type: object httpConnectionManagerSettings: properties: acceptHttp10: type: boolean defaultHostForHttp10: type: string delayedCloseTimeout: type: string drainTimeout: type: string forwardClientCertDetails: type: string x-kubernetes-int-or-string: true generateRequestId: nullable: true type: boolean idleTimeout: type: string maxConnectionDuration: type: string maxRequestHeadersKb: maximum: 4294967295 minimum: 0 nullable: true type: integer maxStreamDuration: type: string pathWithEscapedSlashesAction: type: string x-kubernetes-int-or-string: true preserveExternalRequestId: type: boolean properCaseHeaderKeyFormat: type: boolean proxy100Continue: type: boolean requestTimeout: type: string serverHeaderTransformation: type: string x-kubernetes-int-or-string: true serverName: type: string setCurrentClientCertDetails: properties: cert: type: boolean chain: type: boolean dns: type: boolean subject: nullable: true type: boolean uri: type: boolean type: object skipXffAppend: type: boolean streamIdleTimeout: type: string tracing: properties: datadogConfig: properties: clusterName: type: string collectorUpstreamRef: properties: name: type: string namespace: type: string type: object serviceName: type: string type: object environmentVariablesForTags: items: properties: defaultValue: type: string name: type: string tag: type: string type: object type: array literalsForTags: items: properties: tag: type: string value: type: string type: object type: array requestHeadersForTags: items: type: string type: array tracePercentages: properties: clientSamplePercentage: nullable: true type: number overallSamplePercentage: nullable: true type: number randomSamplePercentage: nullable: true type: number type: object verbose: 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: type: boolean type: object type: object upgrades: items: properties: websocket: properties: enabled: nullable: true type: boolean type: object type: object type: array useRemoteAddress: nullable: true type: boolean via: type: string xffNumTrustedHops: format: int32 type: integer type: object leftmostXffAddress: nullable: true type: boolean 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 rateLimitBeforeAuth: type: boolean ratelimitServerRef: properties: name: type: string namespace: type: string type: object requestTimeout: type: string type: object sanitizeClusterHeader: nullable: true type: boolean waf: properties: auditLogging: properties: action: type: string x-kubernetes-int-or-string: true location: type: string x-kubernetes-int-or-string: true type: object 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 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 statPrefix: type: string virtualHosts: items: properties: domains: items: type: string type: array metadata: type: object x-kubernetes-preserve-unknown-fields: true name: type: string 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 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: format: int32 type: integer type: object runtimeKey: type: string type: object shadowEnabled: properties: defaultValue: properties: denominator: type: string x-kubernetes-int-or-string: true numerator: format: int32 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: format: int32 type: integer type: object type: array type: object shadow: type: boolean type: object type: array enabledFor: type: string x-kubernetes-int-or-string: true 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 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 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 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 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 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 type: object type: object rateLimitConfigs: properties: refs: items: properties: name: type: string namespace: type: string type: object type: array type: object ratelimit: properties: 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 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: format: int32 type: integer unit: type: string x-kubernetes-int-or-string: true type: object authorizedLimits: properties: requestsPerUnit: format: int32 type: integer unit: type: string x-kubernetes-int-or-string: true type: object 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: format: int32 type: integer perTryTimeout: type: string retryOn: type: string type: object stagedTransformations: properties: early: properties: requestTransforms: items: properties: clearRouteCache: type: boolean matcher: properties: caseSensitive: nullable: true type: boolean 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: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object responseTransformation: properties: headerBodyTransform: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: 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: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: 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 inheritTransformation: type: boolean regular: properties: requestTransforms: items: properties: clearRouteCache: type: boolean matcher: properties: caseSensitive: nullable: true type: boolean 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: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object responseTransformation: properties: headerBodyTransform: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: 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: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: 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: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object responseTransformation: properties: headerBodyTransform: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: 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 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 routes: items: properties: directResponseAction: properties: body: type: string status: format: int32 type: integer type: object matchers: items: properties: caseSensitive: nullable: true type: boolean 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 metadata: type: object x-kubernetes-preserve-unknown-fields: true name: type: string options: properties: 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: format: int32 type: integer type: object runtimeKey: type: string type: object shadowEnabled: properties: defaultValue: properties: denominator: type: string x-kubernetes-int-or-string: true numerator: format: int32 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: format: int32 type: integer type: object type: array 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 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: format: int32 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 jwt: properties: disable: type: boolean 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 prefixRewrite: nullable: true type: string rateLimitConfigs: properties: refs: items: properties: name: type: string namespace: type: string type: object type: array type: object ratelimit: properties: includeVhRateLimits: type: boolean 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 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: format: int32 type: integer unit: type: string x-kubernetes-int-or-string: true type: object authorizedLimits: properties: requestsPerUnit: format: int32 type: integer unit: type: string x-kubernetes-int-or-string: true type: object 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: format: int32 type: integer perTryTimeout: type: string 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 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: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object responseTransformation: properties: headerBodyTransform: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: 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: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: 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 inheritTransformation: type: boolean regular: properties: requestTransforms: items: properties: clearRouteCache: type: boolean matcher: properties: caseSensitive: nullable: true type: boolean 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: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object responseTransformation: properties: headerBodyTransform: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: 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: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: 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: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object responseTransformation: properties: headerBodyTransform: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object type: object upgrades: items: properties: 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 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 redirectAction: properties: hostRedirect: type: string httpsRedirect: type: boolean pathRedirect: type: string prefixRewrite: type: string responseCode: type: string x-kubernetes-int-or-string: true stripQuery: type: boolean type: object routeAction: properties: clusterHeader: type: string 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 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: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object type: object type: object kube: properties: port: format: int32 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: format: int32 type: integer type: object runtimeKey: type: string type: object shadowEnabled: properties: defaultValue: properties: denominator: type: string x-kubernetes-int-or-string: true numerator: format: int32 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 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: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object responseTransformation: properties: headerBodyTransform: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: 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: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: 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 inheritTransformation: type: boolean regular: properties: requestTransforms: items: properties: clearRouteCache: type: boolean matcher: properties: caseSensitive: nullable: true type: boolean 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: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object responseTransformation: properties: headerBodyTransform: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: 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: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: 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: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object responseTransformation: properties: headerBodyTransform: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object type: object type: object weight: format: int32 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 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: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object type: object type: object kube: properties: port: format: int32 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: array type: object metadata: type: object x-kubernetes-preserve-unknown-fields: true 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 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 extensions: properties: configs: additionalProperties: type: object x-kubernetes-preserve-unknown-fields: true type: object type: object perConnectionBufferLimitBytes: maximum: 4294967295 minimum: 0 nullable: true type: integer 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 type: object routeOptions: properties: maxDirectResponseBodySizeBytes: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object sslConfigurations: items: properties: alpnProtocols: items: type: string type: array disableTlsSessionResumption: nullable: true type: boolean 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: rootCa: type: string tlsCert: type: string tlsKey: type: string type: object verifySubjectAltName: items: type: string type: array type: object type: array tcpListener: properties: options: properties: tcpProxySettings: properties: idleTimeout: type: string maxConnectAttempts: maximum: 4294967295 minimum: 0 nullable: true type: integer tunnelingConfig: properties: hostname: type: string type: object type: object type: object statPrefix: type: string 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 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: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object type: object type: object kube: properties: port: format: int32 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: format: int32 type: integer type: object runtimeKey: type: string type: object shadowEnabled: properties: defaultValue: properties: denominator: type: string x-kubernetes-int-or-string: true numerator: format: int32 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 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: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object responseTransformation: properties: headerBodyTransform: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: 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: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: 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 inheritTransformation: type: boolean regular: properties: requestTransforms: items: properties: clearRouteCache: type: boolean matcher: properties: caseSensitive: nullable: true type: boolean 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: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object responseTransformation: properties: headerBodyTransform: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: 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: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: 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: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object responseTransformation: properties: headerBodyTransform: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object type: object type: object weight: format: int32 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 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: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object type: object type: object kube: properties: port: format: int32 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 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: rootCa: type: string tlsCert: type: string tlsKey: type: string type: object verifySubjectAltName: items: type: string type: array type: object type: object type: array type: object 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: type: object x-kubernetes-preserve-unknown-fields: true type: object served: true storage: true status: acceptedNames: kind: Proxy listKind: ProxyList plural: proxies shortNames: - px singular: proxy conditions: - lastTransitionTime: "2023-06-01T14:30:02Z" message: no conflicts found reason: NoConflicts status: "True" type: NamesAccepted - lastTransitionTime: "2023-06-01T14:30:03Z" message: the initial names have been accepted reason: InitialNamesAccepted status: "True" type: Established storedVersions: - v1 --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: creationTimestamp: "2023-06-01T14:30:02Z" generation: 1 labels: gloo: settings name: settings.gloo.solo.io resourceVersion: "3708694" uid: e29f2b03-d972-4486-8c9b-e2ebc20729a6 spec: conversion: strategy: None group: gloo.solo.io names: kind: Settings listKind: SettingsList plural: settings shortNames: - st singular: settings scope: Namespaced versions: - name: v1 schema: openAPIV3Schema: properties: spec: properties: 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: rootCa: properties: name: type: string namespace: type: string type: object 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 type: object discoveryNamespace: type: string extauth: properties: clearRouteCache: type: boolean extauthzServerRef: properties: name: type: string namespace: type: string type: object failureModeAllow: type: boolean 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 type: object type: object requestBody: properties: allowPartialMessage: type: boolean maxRequestBytes: format: int32 type: integer packAsBytes: type: boolean type: object requestTimeout: type: string statPrefix: type: string statusOnError: format: int32 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 readGatewaysFromAllNamespaces: type: boolean validation: properties: allowWarnings: nullable: true type: boolean alwaysAccept: nullable: true type: boolean disableTransformationValidation: nullable: true type: boolean ignoreGlooValidationFailure: type: boolean proxyValidationServerAddr: type: string validationServerGrpcMaxSizeBytes: maximum: 2147483647 minimum: -2147483648 nullable: true type: integer validationWebhookTlsCert: type: string validationWebhookTlsKey: type: string 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: enableCredentialsDiscovey: type: boolean serviceAccountCredentials: properties: cluster: 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: format: int32 type: integer replaceInvalidRoutes: type: boolean type: object regexMaxProgramSize: maximum: 4294967295 minimum: 0 nullable: true type: integer restXdsBindAddr: type: string 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: format: int32 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 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 type: object type: object requestBody: properties: allowPartialMessage: type: boolean maxRequestBytes: format: int32 type: integer packAsBytes: type: boolean type: object requestTimeout: type: string statPrefix: type: string statusOnError: format: int32 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: grafanaIntegration: properties: defaultDashboardFolderId: maximum: 4294967295 minimum: 0 nullable: true type: integer 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: format: int32 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 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 upstreamOptions: properties: 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: address: type: string caCert: type: string caPath: type: string clientCert: type: string clientKey: type: string insecure: nullable: true type: boolean rootKey: type: string tlsServerName: type: string token: type: string type: object watchNamespaces: items: type: string type: array type: object status: type: object x-kubernetes-preserve-unknown-fields: true type: object served: true storage: true status: acceptedNames: kind: Settings listKind: SettingsList plural: settings shortNames: - st singular: settings conditions: - lastTransitionTime: "2023-06-01T14:30:03Z" message: no conflicts found reason: NoConflicts status: "True" type: NamesAccepted - lastTransitionTime: "2023-06-01T14:30:03Z" message: the initial names have been accepted reason: InitialNamesAccepted status: "True" type: Established storedVersions: - v1 --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: creationTimestamp: "2023-06-01T14:30:02Z" generation: 1 name: upstreamgroups.gloo.solo.io resourceVersion: "3708698" uid: fb68956f-82c3-4950-9506-c44c4b835f0e spec: conversion: strategy: None group: gloo.solo.io names: kind: UpstreamGroup listKind: UpstreamGroupList plural: upstreamgroups shortNames: - ug 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 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: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object type: object type: object kube: properties: port: format: int32 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: format: int32 type: integer type: object runtimeKey: type: string type: object shadowEnabled: properties: defaultValue: properties: denominator: type: string x-kubernetes-int-or-string: true numerator: format: int32 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 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: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object responseTransformation: properties: headerBodyTransform: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: 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: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: 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 inheritTransformation: type: boolean regular: properties: requestTransforms: items: properties: clearRouteCache: type: boolean matcher: properties: caseSensitive: nullable: true type: boolean 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: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object responseTransformation: properties: headerBodyTransform: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: 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: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: 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: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object responseTransformation: properties: headerBodyTransform: type: object transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object type: object type: object weight: format: int32 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: type: object x-kubernetes-preserve-unknown-fields: true type: object served: true storage: true status: acceptedNames: kind: UpstreamGroup listKind: UpstreamGroupList plural: upstreamgroups shortNames: - ug singular: upstreamgroup conditions: - lastTransitionTime: "2023-06-01T14:30:03Z" message: no conflicts found reason: NoConflicts status: "True" type: NamesAccepted - lastTransitionTime: "2023-06-01T14:30:03Z" message: the initial names have been accepted reason: InitialNamesAccepted status: "True" type: Established storedVersions: - v1 --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: creationTimestamp: "2023-06-01T14:30:02Z" generation: 1 name: upstreams.gloo.solo.io resourceVersion: "3708697" uid: 82b53103-10bd-42bc-8e8e-a896edbd7e02 spec: conversion: strategy: None group: gloo.solo.io names: kind: Upstream listKind: UpstreamList plural: upstreams shortNames: - us singular: upstream scope: Namespaced versions: - name: v1 schema: openAPIV3Schema: properties: spec: properties: aws: properties: 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: format: int32 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: format: int32 type: integer maxStreamDuration: type: string type: object connectTimeout: type: string maxRequestsPerConnection: format: int32 type: integer perConnectionBufferLimitBytes: maximum: 4294967295 minimum: 0 nullable: true type: integer tcpKeepalive: properties: keepaliveInterval: type: string keepaliveProbes: format: int32 type: integer keepaliveTime: type: string type: object type: object consul: properties: connectEnabled: type: boolean dataCenters: items: type: string type: array instanceBlacklistTags: items: type: string type: array instanceTags: items: type: string type: array serviceName: type: string serviceSpec: properties: 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 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: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object type: object type: object type: object serviceTags: items: type: string type: array subsetTags: items: type: string type: array type: object discoveryMetadata: properties: labels: additionalProperties: type: string type: object type: object failover: properties: prioritizedLocalities: items: properties: localityEndpoints: items: properties: lbEndpoints: items: properties: address: type: string healthCheckConfig: properties: hostname: type: string method: type: string path: type: string portValue: format: int32 type: integer type: object loadBalancingWeight: maximum: 4294967295 minimum: 0 nullable: true type: integer port: format: int32 type: integer upstreamSslConfig: properties: alpnProtocols: items: type: string type: array 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: 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 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 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 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: format: int32 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 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: format: int32 type: integer serviceSpec: properties: 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 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: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: 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: healthyPanicThreshold: nullable: true type: number leastRequest: properties: choiceCount: format: int32 type: integer 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: type: object updateMergeWindow: type: string type: object 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 pipe: properties: path: type: string serviceSpec: properties: 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 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: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object type: object type: object type: object type: object sslConfig: properties: alpnProtocols: items: type: string type: array 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: 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 port: format: int32 type: integer sniAddr: type: string type: object type: array serviceSpec: properties: 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 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: key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string regex: type: string subgroup: format: int32 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 ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object type: object type: object type: object type: object useTls: type: boolean type: object useHttp2: nullable: true type: boolean type: object status: type: object x-kubernetes-preserve-unknown-fields: true type: object served: true storage: true status: acceptedNames: kind: Upstream listKind: UpstreamList plural: upstreams shortNames: - us singular: upstream conditions: - lastTransitionTime: "2023-06-01T14:30:03Z" message: no conflicts found reason: NoConflicts status: "True" type: NamesAccepted - lastTransitionTime: "2023-06-01T14:30:03Z" message: the initial names have been accepted reason: InitialNamesAccepted status: "True" type: Established storedVersions: - v1