...

Text file src/github.com/datawire/ambassador/v2/pkg/api/getambassador.io/crds.yaml

Documentation: github.com/datawire/ambassador/v2/pkg/api/getambassador.io

     1# GENERATED FILE: edits made by hand will not be preserved.
     2---
     3apiVersion: apiextensions.k8s.io/v1
     4kind: CustomResourceDefinition
     5metadata:
     6  annotations:
     7    controller-gen.kubebuilder.io/version: v0.6.2
     8  name: authservices.getambassador.io
     9spec:
    10  conversion:
    11    strategy: Webhook
    12    webhook:
    13      clientConfig:
    14        service:
    15          name: emissary-apiext
    16          namespace: emissary-system
    17      conversionReviewVersions:
    18      - v1beta1
    19  group: getambassador.io
    20  names:
    21    categories:
    22    - ambassador-crds
    23    kind: AuthService
    24    listKind: AuthServiceList
    25    plural: authservices
    26    singular: authservice
    27  preserveUnknownFields: false
    28  scope: Namespaced
    29  versions:
    30  - name: v1
    31    schema:
    32      openAPIV3Schema:
    33        description: AuthService is the Schema for the authservices API
    34        properties:
    35          apiVersion:
    36            description: 'APIVersion defines the versioned schema of this representation
    37              of an object. Servers should convert recognized schemas to the latest
    38              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    39            type: string
    40          kind:
    41            description: 'Kind is a string value representing the REST resource this
    42              object represents. Servers may infer this from the endpoint the client
    43              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    44            type: string
    45          metadata:
    46            type: object
    47          spec:
    48            description: AuthServiceSpec defines the desired state of AuthService
    49            properties:
    50              add_auth_headers:
    51                additionalProperties:
    52                  type: string
    53                type: object
    54              add_linkerd_headers:
    55                type: boolean
    56              allow_request_body:
    57                type: boolean
    58              allowed_authorization_headers:
    59                items:
    60                  type: string
    61                type: array
    62              allowed_request_headers:
    63                items:
    64                  type: string
    65                type: array
    66              ambassador_id:
    67                description: "AmbassadorID declares which Ambassador instances should
    68                  pay attention to this resource.  May either be a string or a list
    69                  of strings.  If no value is provided, the default is: \n \tambassador_id:
    70                  \t- \"default\""
    71                items:
    72                  type: string
    73                oneOf:
    74                - type: string
    75                - type: array
    76              auth_service:
    77                type: string
    78              failure_mode_allow:
    79                type: boolean
    80              include_body:
    81                properties:
    82                  allow_partial:
    83                    type: boolean
    84                  max_bytes:
    85                    description: These aren't pointer types because they are required.
    86                    type: integer
    87                required:
    88                - allow_partial
    89                - max_bytes
    90                type: object
    91              path_prefix:
    92                type: string
    93              proto:
    94                enum:
    95                - http
    96                - grpc
    97                type: string
    98              protocol_version:
    99                enum:
   100                - v2
   101                - v3
   102                type: string
   103              status_on_error:
   104                description: Why isn't this just an int??
   105                properties:
   106                  code:
   107                    type: integer
   108                type: object
   109              timeout_ms:
   110                type: integer
   111              tls:
   112                description: BoolOrString is a type that can hold a Boolean or a string.
   113                oneOf:
   114                - type: string
   115                - type: boolean
   116              v3CircuitBreakers:
   117                items:
   118                  properties:
   119                    max_connections:
   120                      type: integer
   121                    max_pending_requests:
   122                      type: integer
   123                    max_requests:
   124                      type: integer
   125                    max_retries:
   126                      type: integer
   127                    priority:
   128                      enum:
   129                      - default
   130                      - high
   131                      type: string
   132                  type: object
   133                type: array
   134              v3StatsName:
   135                type: string
   136            required:
   137            - auth_service
   138            type: object
   139        type: object
   140    served: true
   141    storage: false
   142  - name: v2
   143    schema:
   144      openAPIV3Schema:
   145        description: AuthService is the Schema for the authservices API
   146        properties:
   147          apiVersion:
   148            description: 'APIVersion defines the versioned schema of this representation
   149              of an object. Servers should convert recognized schemas to the latest
   150              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
   151            type: string
   152          kind:
   153            description: 'Kind is a string value representing the REST resource this
   154              object represents. Servers may infer this from the endpoint the client
   155              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   156            type: string
   157          metadata:
   158            type: object
   159          spec:
   160            description: AuthServiceSpec defines the desired state of AuthService
   161            properties:
   162              add_auth_headers:
   163                additionalProperties:
   164                  type: string
   165                type: object
   166              add_linkerd_headers:
   167                type: boolean
   168              allow_request_body:
   169                type: boolean
   170              allowed_authorization_headers:
   171                items:
   172                  type: string
   173                type: array
   174              allowed_request_headers:
   175                items:
   176                  type: string
   177                type: array
   178              ambassador_id:
   179                description: "AmbassadorID declares which Ambassador instances should
   180                  pay attention to this resource.  May either be a string or a list
   181                  of strings.  If no value is provided, the default is: \n \tambassador_id:
   182                  \t- \"default\""
   183                items:
   184                  type: string
   185                oneOf:
   186                - type: string
   187                - type: array
   188              auth_service:
   189                type: string
   190              failure_mode_allow:
   191                type: boolean
   192              include_body:
   193                properties:
   194                  allow_partial:
   195                    type: boolean
   196                  max_bytes:
   197                    description: These aren't pointer types because they are required.
   198                    type: integer
   199                required:
   200                - allow_partial
   201                - max_bytes
   202                type: object
   203              path_prefix:
   204                type: string
   205              proto:
   206                enum:
   207                - http
   208                - grpc
   209                type: string
   210              protocol_version:
   211                enum:
   212                - v2
   213                - v3
   214                type: string
   215              status_on_error:
   216                description: Why isn't this just an int??
   217                properties:
   218                  code:
   219                    type: integer
   220                type: object
   221              timeout_ms:
   222                type: integer
   223              tls:
   224                description: BoolOrString is a type that can hold a Boolean or a string.
   225                oneOf:
   226                - type: string
   227                - type: boolean
   228              v3CircuitBreakers:
   229                items:
   230                  properties:
   231                    max_connections:
   232                      type: integer
   233                    max_pending_requests:
   234                      type: integer
   235                    max_requests:
   236                      type: integer
   237                    max_retries:
   238                      type: integer
   239                    priority:
   240                      enum:
   241                      - default
   242                      - high
   243                      type: string
   244                  type: object
   245                type: array
   246              v3StatsName:
   247                type: string
   248            required:
   249            - auth_service
   250            type: object
   251        type: object
   252    served: true
   253    storage: true
   254  - name: v3alpha1
   255    schema:
   256      openAPIV3Schema:
   257        description: AuthService is the Schema for the authservices API
   258        properties:
   259          apiVersion:
   260            description: 'APIVersion defines the versioned schema of this representation
   261              of an object. Servers should convert recognized schemas to the latest
   262              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
   263            type: string
   264          kind:
   265            description: 'Kind is a string value representing the REST resource this
   266              object represents. Servers may infer this from the endpoint the client
   267              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   268            type: string
   269          metadata:
   270            type: object
   271          spec:
   272            description: AuthServiceSpec defines the desired state of AuthService
   273            properties:
   274              add_auth_headers:
   275                additionalProperties:
   276                  type: string
   277                type: object
   278              add_linkerd_headers:
   279                type: boolean
   280              allow_request_body:
   281                description: 'TODO(lukeshu): In v3alpha2, drop allow_request_body
   282                  in favor of include_body. allow_request_body has been deprecated
   283                  for a long time.'
   284                type: boolean
   285              allowed_authorization_headers:
   286                items:
   287                  type: string
   288                type: array
   289              allowed_request_headers:
   290                items:
   291                  type: string
   292                type: array
   293              ambassador_id:
   294                description: "AmbassadorID declares which Ambassador instances should
   295                  pay attention to this resource. If no value is provided, the default
   296                  is: \n \tambassador_id: \t- \"default\" \n TODO(lukeshu): In v3alpha2,
   297                  consider renaming all of the `ambassador_id` (singular) fields to
   298                  `ambassador_ids` (plural)."
   299                items:
   300                  type: string
   301                type: array
   302              auth_service:
   303                description: 'TODO(lukeshu): In v3alpha2, consider renameing `auth_service`
   304                  to just `service`, for consistency with the other resource types.'
   305                type: string
   306              circuit_breakers:
   307                items:
   308                  properties:
   309                    max_connections:
   310                      type: integer
   311                    max_pending_requests:
   312                      type: integer
   313                    max_requests:
   314                      type: integer
   315                    max_retries:
   316                      type: integer
   317                    priority:
   318                      enum:
   319                      - default
   320                      - high
   321                      type: string
   322                  type: object
   323                type: array
   324              failure_mode_allow:
   325                type: boolean
   326              include_body:
   327                properties:
   328                  allow_partial:
   329                    type: boolean
   330                  max_bytes:
   331                    description: These aren't pointer types because they are required.
   332                    type: integer
   333                required:
   334                - allow_partial
   335                - max_bytes
   336                type: object
   337              path_prefix:
   338                type: string
   339              proto:
   340                enum:
   341                - http
   342                - grpc
   343                type: string
   344              protocol_version:
   345                enum:
   346                - v2
   347                - v3
   348                type: string
   349              stats_name:
   350                type: string
   351              status_on_error:
   352                description: 'TODO(lukeshu): In v3alpha2, consider getting rid of
   353                  this struct type in favor of just using an int (i.e. `statusOnError:
   354                  500` instead of the current `statusOnError: { code: 500 }`).'
   355                properties:
   356                  code:
   357                    type: integer
   358                type: object
   359              timeout_ms:
   360                description: 'TODO(lukeshu): In v3alpha2, change all of the `{foo}_ms`/`MillisecondDuration`
   361                  fields to `{foo}`/`metav1.Duration`.'
   362                type: integer
   363              tls:
   364                type: string
   365              v2ExplicitTLS:
   366                description: V2ExplicitTLS controls some vanity/stylistic elements
   367                  when converting from v3alpha1 to v2.  The values in an V2ExplicitTLS
   368                  should not in any way affect the runtime operation of Emissary;
   369                  except that it may affect internal names in the Envoy config, which
   370                  may in turn affect stats names.  But it should not affect any end-user
   371                  observable behavior.
   372                properties:
   373                  serviceScheme:
   374                    description: "ServiceScheme specifies how to spell and capitalize
   375                      the scheme-part of the service URL. \n Acceptable values are
   376                      \"http://\" (case-insensitive), \"https://\" (case-insensitive),
   377                      or \"\".  The value is used if it agrees with whether or not
   378                      this resource enables TLS origination, or if something else
   379                      in the resource overrides the scheme."
   380                    pattern: ^([hH][tT][tT][pP][sS]?://)?$
   381                    type: string
   382                  tls:
   383                    description: "TLS controls whether and how to represent the \"tls\"
   384                      field when its value could be implied by the \"service\" field.
   385                      \ In v2, there were a lot of different ways to spell an \"empty\"
   386                      value, and this field specifies which way to spell it (and will
   387                      therefore only be used if the value will indeed be empty). \n
   388                      \ | Value        | Representation                        | Meaning
   389                      of representation          |  |--------------+---------------------------------------+------------------------------------|
   390                      \ | \"\"           | omit the field                        |
   391                      defer to service (no TLSContext)   |  | \"null\"       | store
   392                      an explicit \"null\" in the field | defer to service (no TLSContext)
   393                      \  |  | \"string\"     | store an empty string in the field
   394                      \   | defer to service (no TLSContext)   |  | \"bool:false\"
   395                      | store a Boolean \"false\" in the field  | defer to service
   396                      (no TLSContext)   |  | \"bool:true\"  | store a Boolean \"true\"
   397                      in the field   | originate TLS (no TLSContext)      | \n If
   398                      the meaning of the representation contradicts anything else
   399                      (if a TLSContext is to be used, or in the case of \"bool:true\"
   400                      if TLS is not to be originated), then this field is ignored."
   401                    enum:
   402                    - ""
   403                    - "null"
   404                    - bool:true
   405                    - bool:false
   406                    - string
   407                    type: string
   408                type: object
   409            required:
   410            - auth_service
   411            type: object
   412        type: object
   413    served: true
   414    storage: false
   415---
   416apiVersion: apiextensions.k8s.io/v1
   417kind: CustomResourceDefinition
   418metadata:
   419  annotations:
   420    controller-gen.kubebuilder.io/version: v0.6.2
   421  name: consulresolvers.getambassador.io
   422spec:
   423  conversion:
   424    strategy: Webhook
   425    webhook:
   426      clientConfig:
   427        service:
   428          name: emissary-apiext
   429          namespace: emissary-system
   430      conversionReviewVersions:
   431      - v1beta1
   432  group: getambassador.io
   433  names:
   434    categories:
   435    - ambassador-crds
   436    kind: ConsulResolver
   437    listKind: ConsulResolverList
   438    plural: consulresolvers
   439    singular: consulresolver
   440  preserveUnknownFields: false
   441  scope: Namespaced
   442  versions:
   443  - name: v1
   444    schema:
   445      openAPIV3Schema:
   446        description: ConsulResolver is the Schema for the ConsulResolver API
   447        properties:
   448          apiVersion:
   449            description: 'APIVersion defines the versioned schema of this representation
   450              of an object. Servers should convert recognized schemas to the latest
   451              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
   452            type: string
   453          kind:
   454            description: 'Kind is a string value representing the REST resource this
   455              object represents. Servers may infer this from the endpoint the client
   456              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   457            type: string
   458          metadata:
   459            type: object
   460          spec:
   461            description: ConsulResolver tells Ambassador to use Consul to resolve
   462              services. In addition to the AmbassadorID, it needs information about
   463              which Consul server and DC to use.
   464            properties:
   465              address:
   466                type: string
   467              ambassador_id:
   468                description: "AmbassadorID declares which Ambassador instances should
   469                  pay attention to this resource.  May either be a string or a list
   470                  of strings.  If no value is provided, the default is: \n \tambassador_id:
   471                  \t- \"default\""
   472                items:
   473                  type: string
   474                oneOf:
   475                - type: string
   476                - type: array
   477              datacenter:
   478                type: string
   479            type: object
   480        type: object
   481    served: true
   482    storage: false
   483  - name: v2
   484    schema:
   485      openAPIV3Schema:
   486        description: ConsulResolver is the Schema for the ConsulResolver API
   487        properties:
   488          apiVersion:
   489            description: 'APIVersion defines the versioned schema of this representation
   490              of an object. Servers should convert recognized schemas to the latest
   491              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
   492            type: string
   493          kind:
   494            description: 'Kind is a string value representing the REST resource this
   495              object represents. Servers may infer this from the endpoint the client
   496              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   497            type: string
   498          metadata:
   499            type: object
   500          spec:
   501            description: ConsulResolver tells Ambassador to use Consul to resolve
   502              services. In addition to the AmbassadorID, it needs information about
   503              which Consul server and DC to use.
   504            properties:
   505              address:
   506                type: string
   507              ambassador_id:
   508                description: "AmbassadorID declares which Ambassador instances should
   509                  pay attention to this resource.  May either be a string or a list
   510                  of strings.  If no value is provided, the default is: \n \tambassador_id:
   511                  \t- \"default\""
   512                items:
   513                  type: string
   514                oneOf:
   515                - type: string
   516                - type: array
   517              datacenter:
   518                type: string
   519            type: object
   520        type: object
   521    served: true
   522    storage: true
   523  - name: v3alpha1
   524    schema:
   525      openAPIV3Schema:
   526        description: ConsulResolver is the Schema for the ConsulResolver API
   527        properties:
   528          apiVersion:
   529            description: 'APIVersion defines the versioned schema of this representation
   530              of an object. Servers should convert recognized schemas to the latest
   531              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
   532            type: string
   533          kind:
   534            description: 'Kind is a string value representing the REST resource this
   535              object represents. Servers may infer this from the endpoint the client
   536              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   537            type: string
   538          metadata:
   539            type: object
   540          spec:
   541            description: ConsulResolver tells Ambassador to use Consul to resolve
   542              services. In addition to the AmbassadorID, it needs information about
   543              which Consul server and DC to use.
   544            properties:
   545              address:
   546                type: string
   547              ambassador_id:
   548                description: "AmbassadorID declares which Ambassador instances should
   549                  pay attention to this resource. If no value is provided, the default
   550                  is: \n \tambassador_id: \t- \"default\" \n TODO(lukeshu): In v3alpha2,
   551                  consider renaming all of the `ambassador_id` (singular) fields to
   552                  `ambassador_ids` (plural)."
   553                items:
   554                  type: string
   555                type: array
   556              datacenter:
   557                type: string
   558            type: object
   559        type: object
   560    served: true
   561    storage: false
   562---
   563apiVersion: apiextensions.k8s.io/v1
   564kind: CustomResourceDefinition
   565metadata:
   566  annotations:
   567    controller-gen.kubebuilder.io/version: v0.6.2
   568  name: devportals.getambassador.io
   569spec:
   570  conversion:
   571    strategy: Webhook
   572    webhook:
   573      clientConfig:
   574        service:
   575          name: emissary-apiext
   576          namespace: emissary-system
   577      conversionReviewVersions:
   578      - v1beta1
   579  group: getambassador.io
   580  names:
   581    categories:
   582    - ambassador-crds
   583    kind: DevPortal
   584    listKind: DevPortalList
   585    plural: devportals
   586    singular: devportal
   587  preserveUnknownFields: false
   588  scope: Namespaced
   589  versions:
   590  - name: v1
   591    schema:
   592      openAPIV3Schema:
   593        description: "DevPortal is the Schema for the DevPortals API \n DevPortal
   594          resources specify the `what` and `how` is shown in a DevPortal: \n  1. `what`
   595          is in a DevPortal can be controlled with \n     - a `selector`, that can
   596          be used for filtering `Mappings`. \n     - a `docs` listing of (services,
   597          url) \n  2. `how` is a pointer to some `contents` (a checkout of a Git repository
   598          \    with go-templates/markdown/css). \n Multiple `DevPortal`s can exist
   599          in the cluster, and the Dev Portal server will show them at different endpoints.
   600          A `DevPortal` resource with a special name, `ambassador`, will be used for
   601          configuring the default Dev Portal (served at `/docs/` by default)."
   602        properties:
   603          apiVersion:
   604            description: 'APIVersion defines the versioned schema of this representation
   605              of an object. Servers should convert recognized schemas to the latest
   606              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
   607            type: string
   608          kind:
   609            description: 'Kind is a string value representing the REST resource this
   610              object represents. Servers may infer this from the endpoint the client
   611              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   612            type: string
   613          metadata:
   614            type: object
   615          spec:
   616            description: DevPortalSpec defines the desired state of DevPortal
   617            properties:
   618              ambassador_id:
   619                description: "AmbassadorID declares which Ambassador instances should
   620                  pay attention to this resource.  May either be a string or a list
   621                  of strings.  If no value is provided, the default is: \n \tambassador_id:
   622                  \t- \"default\""
   623                items:
   624                  type: string
   625                oneOf:
   626                - type: string
   627                - type: array
   628              content:
   629                description: Content specifies where the content shown in the DevPortal
   630                  come from
   631                properties:
   632                  branch:
   633                    type: string
   634                  dir:
   635                    type: string
   636                  url:
   637                    type: string
   638                type: object
   639              default:
   640                description: Default must be true when this is the default DevPortal
   641                type: boolean
   642              docs:
   643                description: Docs is a static docs definition
   644                items:
   645                  description: 'DevPortalDocsSpec is a static documentation definition:
   646                    instead of using a Selector for finding documentation for services,
   647                    users can provide a static list of <service>:<URL> tuples. These
   648                    services will be shown in the Dev Portal with the documentation
   649                    obtained from this URL.'
   650                  properties:
   651                    service:
   652                      description: Service is the service being documented
   653                      type: string
   654                    timeout_ms:
   655                      description: Timeout specifies the amount of time devportal
   656                        will wait for the downstream service to report an openapi
   657                        spec back
   658                      type: integer
   659                    url:
   660                      description: URL is the URL used for obtaining docs
   661                      type: string
   662                  type: object
   663                type: array
   664              naming_scheme:
   665                description: Describes how to display "services" in the DevPortal.
   666                  Default namespace.name
   667                enum:
   668                - namespace.name
   669                - name.prefix
   670                type: string
   671              preserve_servers:
   672                description: Configures this DevPortal to use server definitions from
   673                  the openAPI doc instead of rewriting them based on the url used
   674                  for the connection.
   675                type: boolean
   676              search:
   677                description: DevPortalSearchSpec allows configuration over search
   678                  functionality for the DevPortal
   679                properties:
   680                  enabled:
   681                    type: boolean
   682                  type:
   683                    description: 'Type of search. "title-only" does a fuzzy search
   684                      over openapi and page titles "all-content" will fuzzy search
   685                      over all openapi and page content. "title-only" is the default.
   686                      warning:  using all-content may incur a larger memory footprint'
   687                    enum:
   688                    - title-only
   689                    - all-content
   690                    type: string
   691                type: object
   692              selector:
   693                description: Selector is used for choosing what is shown in the DevPortal
   694                properties:
   695                  matchLabels:
   696                    additionalProperties:
   697                      type: string
   698                    description: MatchLabels specifies the list of labels that must
   699                      be present in Mappings for being present in this DevPortal.
   700                    type: object
   701                  matchNamespaces:
   702                    description: MatchNamespaces is a list of namespaces that will
   703                      be included in this DevPortal.
   704                    items:
   705                      type: string
   706                    type: array
   707                type: object
   708            type: object
   709        type: object
   710    served: true
   711    storage: false
   712  - name: v2
   713    schema:
   714      openAPIV3Schema:
   715        description: "DevPortal is the Schema for the DevPortals API \n DevPortal
   716          resources specify the `what` and `how` is shown in a DevPortal: \n  1. `what`
   717          is in a DevPortal can be controlled with \n     - a `selector`, that can
   718          be used for filtering `Mappings`. \n     - a `docs` listing of (services,
   719          url) \n  2. `how` is a pointer to some `contents` (a checkout of a Git repository
   720          \    with go-templates/markdown/css). \n Multiple `DevPortal`s can exist
   721          in the cluster, and the Dev Portal server will show them at different endpoints.
   722          A `DevPortal` resource with a special name, `ambassador`, will be used for
   723          configuring the default Dev Portal (served at `/docs/` by default)."
   724        properties:
   725          apiVersion:
   726            description: 'APIVersion defines the versioned schema of this representation
   727              of an object. Servers should convert recognized schemas to the latest
   728              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
   729            type: string
   730          kind:
   731            description: 'Kind is a string value representing the REST resource this
   732              object represents. Servers may infer this from the endpoint the client
   733              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   734            type: string
   735          metadata:
   736            type: object
   737          spec:
   738            description: DevPortalSpec defines the desired state of DevPortal
   739            properties:
   740              ambassador_id:
   741                description: "AmbassadorID declares which Ambassador instances should
   742                  pay attention to this resource.  May either be a string or a list
   743                  of strings.  If no value is provided, the default is: \n \tambassador_id:
   744                  \t- \"default\""
   745                items:
   746                  type: string
   747                oneOf:
   748                - type: string
   749                - type: array
   750              content:
   751                description: Content specifies where the content shown in the DevPortal
   752                  come from
   753                properties:
   754                  branch:
   755                    type: string
   756                  dir:
   757                    type: string
   758                  url:
   759                    type: string
   760                type: object
   761              default:
   762                description: Default must be true when this is the default DevPortal
   763                type: boolean
   764              docs:
   765                description: Docs is a static docs definition
   766                items:
   767                  description: 'DevPortalDocsSpec is a static documentation definition:
   768                    instead of using a Selector for finding documentation for services,
   769                    users can provide a static list of <service>:<URL> tuples. These
   770                    services will be shown in the Dev Portal with the documentation
   771                    obtained from this URL.'
   772                  properties:
   773                    service:
   774                      description: Service is the service being documented
   775                      type: string
   776                    timeout_ms:
   777                      description: Timeout specifies the amount of time devportal
   778                        will wait for the downstream service to report an openapi
   779                        spec back
   780                      type: integer
   781                    url:
   782                      description: URL is the URL used for obtaining docs
   783                      type: string
   784                  type: object
   785                type: array
   786              naming_scheme:
   787                description: Describes how to display "services" in the DevPortal.
   788                  Default namespace.name
   789                enum:
   790                - namespace.name
   791                - name.prefix
   792                type: string
   793              preserve_servers:
   794                description: Configures this DevPortal to use server definitions from
   795                  the openAPI doc instead of rewriting them based on the url used
   796                  for the connection.
   797                type: boolean
   798              search:
   799                description: DevPortalSearchSpec allows configuration over search
   800                  functionality for the DevPortal
   801                properties:
   802                  enabled:
   803                    type: boolean
   804                  type:
   805                    description: 'Type of search. "title-only" does a fuzzy search
   806                      over openapi and page titles "all-content" will fuzzy search
   807                      over all openapi and page content. "title-only" is the default.
   808                      warning:  using all-content may incur a larger memory footprint'
   809                    enum:
   810                    - title-only
   811                    - all-content
   812                    type: string
   813                type: object
   814              selector:
   815                description: Selector is used for choosing what is shown in the DevPortal
   816                properties:
   817                  matchLabels:
   818                    additionalProperties:
   819                      type: string
   820                    description: MatchLabels specifies the list of labels that must
   821                      be present in Mappings for being present in this DevPortal.
   822                    type: object
   823                  matchNamespaces:
   824                    description: MatchNamespaces is a list of namespaces that will
   825                      be included in this DevPortal.
   826                    items:
   827                      type: string
   828                    type: array
   829                type: object
   830            type: object
   831        type: object
   832    served: true
   833    storage: true
   834  - name: v3alpha1
   835    schema:
   836      openAPIV3Schema:
   837        description: "DevPortal is the Schema for the DevPortals API \n DevPortal
   838          resources specify the `what` and `how` is shown in a DevPortal: \n  1. `what`
   839          is in a DevPortal can be controlled with \n     - a `selector`, that can
   840          be used for filtering `Mappings`. \n     - a `docs` listing of (services,
   841          url) \n  2. `how` is a pointer to some `contents` (a checkout of a Git repository
   842          \    with go-templates/markdown/css). \n Multiple `DevPortal`s can exist
   843          in the cluster, and the Dev Portal server will show them at different endpoints.
   844          A `DevPortal` resource with a special name, `ambassador`, will be used for
   845          configuring the default Dev Portal (served at `/docs/` by default)."
   846        properties:
   847          apiVersion:
   848            description: 'APIVersion defines the versioned schema of this representation
   849              of an object. Servers should convert recognized schemas to the latest
   850              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
   851            type: string
   852          kind:
   853            description: 'Kind is a string value representing the REST resource this
   854              object represents. Servers may infer this from the endpoint the client
   855              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   856            type: string
   857          metadata:
   858            type: object
   859          spec:
   860            description: DevPortalSpec defines the desired state of DevPortal
   861            properties:
   862              ambassador_id:
   863                description: "AmbassadorID declares which Ambassador instances should
   864                  pay attention to this resource. If no value is provided, the default
   865                  is: \n \tambassador_id: \t- \"default\" \n TODO(lukeshu): In v3alpha2,
   866                  consider renaming all of the `ambassador_id` (singular) fields to
   867                  `ambassador_ids` (plural)."
   868                items:
   869                  type: string
   870                type: array
   871              content:
   872                description: Content specifies where the content shown in the DevPortal
   873                  come from
   874                properties:
   875                  branch:
   876                    type: string
   877                  dir:
   878                    type: string
   879                  url:
   880                    type: string
   881                type: object
   882              default:
   883                description: Default must be true when this is the default DevPortal
   884                type: boolean
   885              docs:
   886                description: Docs is a static docs definition
   887                items:
   888                  description: 'DevPortalDocsSpec is a static documentation definition:
   889                    instead of using a Selector for finding documentation for services,
   890                    users can provide a static list of <service>:<URL> tuples. These
   891                    services will be shown in the Dev Portal with the documentation
   892                    obtained from this URL.'
   893                  properties:
   894                    service:
   895                      description: Service is the service being documented
   896                      type: string
   897                    timeout_ms:
   898                      description: Timeout specifies the amount of time devportal
   899                        will wait for the downstream service to report an openapi
   900                        spec back
   901                      type: integer
   902                    url:
   903                      description: URL is the URL used for obtaining docs
   904                      type: string
   905                  type: object
   906                type: array
   907              naming_scheme:
   908                description: Describes how to display "services" in the DevPortal.
   909                  Default namespace.name
   910                enum:
   911                - namespace.name
   912                - name.prefix
   913                type: string
   914              preserve_servers:
   915                description: Configures this DevPortal to use server definitions from
   916                  the openAPI doc instead of rewriting them based on the url used
   917                  for the connection.
   918                type: boolean
   919              search:
   920                description: DevPortalSearchSpec allows configuration over search
   921                  functionality for the DevPortal
   922                properties:
   923                  enabled:
   924                    type: boolean
   925                  type:
   926                    description: 'Type of search. "title-only" does a fuzzy search
   927                      over openapi and page titles "all-content" will fuzzy search
   928                      over all openapi and page content. "title-only" is the default.
   929                      warning:  using all-content may incur a larger memory footprint'
   930                    enum:
   931                    - title-only
   932                    - all-content
   933                    type: string
   934                type: object
   935              selector:
   936                description: Selector is used for choosing what is shown in the DevPortal
   937                properties:
   938                  matchLabels:
   939                    additionalProperties:
   940                      type: string
   941                    description: MatchLabels specifies the list of labels that must
   942                      be present in Mappings for being present in this DevPortal.
   943                    type: object
   944                  matchNamespaces:
   945                    description: MatchNamespaces is a list of namespaces that will
   946                      be included in this DevPortal.
   947                    items:
   948                      type: string
   949                    type: array
   950                type: object
   951            type: object
   952        type: object
   953    served: true
   954    storage: false
   955---
   956apiVersion: apiextensions.k8s.io/v1
   957kind: CustomResourceDefinition
   958metadata:
   959  annotations:
   960    controller-gen.kubebuilder.io/version: v0.6.2
   961  name: hosts.getambassador.io
   962spec:
   963  conversion:
   964    strategy: Webhook
   965    webhook:
   966      clientConfig:
   967        service:
   968          name: emissary-apiext
   969          namespace: emissary-system
   970      conversionReviewVersions:
   971      - v1beta1
   972  group: getambassador.io
   973  names:
   974    categories:
   975    - ambassador-crds
   976    kind: Host
   977    listKind: HostList
   978    plural: hosts
   979    singular: host
   980  preserveUnknownFields: false
   981  scope: Namespaced
   982  versions:
   983  - additionalPrinterColumns:
   984    - jsonPath: .spec.hostname
   985      name: Hostname
   986      type: string
   987    - jsonPath: .status.state
   988      name: State
   989      type: string
   990    - jsonPath: .status.phaseCompleted
   991      name: Phase Completed
   992      type: string
   993    - jsonPath: .status.phasePending
   994      name: Phase Pending
   995      type: string
   996    - jsonPath: .metadata.creationTimestamp
   997      name: Age
   998      type: date
   999    name: v2
  1000    schema:
  1001      openAPIV3Schema:
  1002        description: Host is the Schema for the hosts API
  1003        properties:
  1004          apiVersion:
  1005            description: 'APIVersion defines the versioned schema of this representation
  1006              of an object. Servers should convert recognized schemas to the latest
  1007              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1008            type: string
  1009          kind:
  1010            description: 'Kind is a string value representing the REST resource this
  1011              object represents. Servers may infer this from the endpoint the client
  1012              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1013            type: string
  1014          metadata:
  1015            type: object
  1016          spec:
  1017            description: HostSpec defines the desired state of Host
  1018            properties:
  1019              acmeProvider:
  1020                description: Specifies whether/who to talk ACME with to automatically
  1021                  manage the $tlsSecret.
  1022                properties:
  1023                  authority:
  1024                    description: Specifies who to talk ACME with to get certs. Defaults
  1025                      to Let's Encrypt; if "none" (case-insensitive), do not try to
  1026                      do ACME for this Host.
  1027                    type: string
  1028                  email:
  1029                    type: string
  1030                  privateKeySecret:
  1031                    description: "Specifies the Kubernetes Secret to use to store
  1032                      the private key of the ACME account (essentially, where to store
  1033                      the auto-generated password for the auto-created ACME account).
  1034                      \ You should not normally need to set this--the default value
  1035                      is based on a combination of the ACME authority being registered
  1036                      wit and the email address associated with the account. \n Note
  1037                      that this is a native-Kubernetes-style core.v1.LocalObjectReference,
  1038                      not an Ambassador-style `{name}.{namespace}` string.  Because
  1039                      we're opinionated, it does not support referencing a Secret
  1040                      in another namespace (because most native Kubernetes resources
  1041                      don't support that), but if we ever abandon that opinion and
  1042                      decide to support non-local references it, it would be by adding
  1043                      a `namespace:` field by changing it from a core.v1.LocalObjectReference
  1044                      to a core.v1.SecretReference, not by adopting the `{name}.{namespace}`
  1045                      notation."
  1046                    properties:
  1047                      name:
  1048                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1049                          TODO: Add other useful fields. apiVersion, kind, uid?'
  1050                        type: string
  1051                    type: object
  1052                  registration:
  1053                    description: This is normally set automatically
  1054                    type: string
  1055                type: object
  1056              ambassador_id:
  1057                description: Common to all Ambassador objects (and optional).
  1058                items:
  1059                  type: string
  1060                oneOf:
  1061                - type: string
  1062                - type: array
  1063              ambassadorId:
  1064                description: A compatibility alias for "ambassador_id"; because Host
  1065                  used to be specified with protobuf, and jsonpb allowed either "ambassador_id"
  1066                  or "ambassadorId", and even though we didn't tell people about "ambassadorId"
  1067                  it's what the web policy console generated because of jsonpb.  So
  1068                  Hosts with 'ambassadorId' exist in the wild.
  1069                items:
  1070                  type: string
  1071                oneOf:
  1072                - type: string
  1073                - type: array
  1074              hostname:
  1075                description: Hostname by which the Ambassador can be reached.
  1076                type: string
  1077              previewUrl:
  1078                description: Configuration for the Preview URL feature of Service
  1079                  Preview. Defaults to preview URLs not enabled.
  1080                properties:
  1081                  enabled:
  1082                    description: Is the Preview URL feature enabled?
  1083                    type: boolean
  1084                  type:
  1085                    description: What type of Preview URL is allowed?
  1086                    enum:
  1087                    - Path
  1088                    type: string
  1089                type: object
  1090              requestPolicy:
  1091                description: Request policy definition.
  1092                properties:
  1093                  insecure:
  1094                    properties:
  1095                      action:
  1096                        enum:
  1097                        - Redirect
  1098                        - Reject
  1099                        - Route
  1100                        type: string
  1101                      additionalPort:
  1102                        type: integer
  1103                    type: object
  1104                type: object
  1105              selector:
  1106                description: Selector by which we can find further configuration.
  1107                  Defaults to hostname=$hostname
  1108                properties:
  1109                  matchExpressions:
  1110                    description: matchExpressions is a list of label selector requirements.
  1111                      The requirements are ANDed.
  1112                    items:
  1113                      description: A label selector requirement is a selector that
  1114                        contains values, a key, and an operator that relates the key
  1115                        and values.
  1116                      properties:
  1117                        key:
  1118                          description: key is the label key that the selector applies
  1119                            to.
  1120                          type: string
  1121                        operator:
  1122                          description: operator represents a key's relationship to
  1123                            a set of values. Valid operators are In, NotIn, Exists
  1124                            and DoesNotExist.
  1125                          type: string
  1126                        values:
  1127                          description: values is an array of string values. If the
  1128                            operator is In or NotIn, the values array must be non-empty.
  1129                            If the operator is Exists or DoesNotExist, the values
  1130                            array must be empty. This array is replaced during a strategic
  1131                            merge patch.
  1132                          items:
  1133                            type: string
  1134                          type: array
  1135                      required:
  1136                      - key
  1137                      - operator
  1138                      type: object
  1139                    type: array
  1140                  matchLabels:
  1141                    additionalProperties:
  1142                      type: string
  1143                    description: matchLabels is a map of {key,value} pairs. A single
  1144                      {key,value} in the matchLabels map is equivalent to an element
  1145                      of matchExpressions, whose key field is "key", the operator
  1146                      is "In", and the values array contains only "value". The requirements
  1147                      are ANDed.
  1148                    type: object
  1149                type: object
  1150              tls:
  1151                description: TLS configuration.  It is not valid to specify both `tlsContext`
  1152                  and `tls`.
  1153                properties:
  1154                  alpn_protocols:
  1155                    type: string
  1156                  ca_secret:
  1157                    type: string
  1158                  cacert_chain_file:
  1159                    type: string
  1160                  cert_chain_file:
  1161                    type: string
  1162                  cert_required:
  1163                    type: boolean
  1164                  cipher_suites:
  1165                    items:
  1166                      type: string
  1167                    type: array
  1168                  ecdh_curves:
  1169                    items:
  1170                      type: string
  1171                    type: array
  1172                  max_tls_version:
  1173                    type: string
  1174                  min_tls_version:
  1175                    type: string
  1176                  private_key_file:
  1177                    type: string
  1178                  redirect_cleartext_from:
  1179                    type: integer
  1180                  sni:
  1181                    type: string
  1182                  v3CRLSecret:
  1183                    type: string
  1184                type: object
  1185              tlsContext:
  1186                description: "Name of the TLSContext the Host resource is linked with.
  1187                  It is not valid to specify both `tlsContext` and `tls`. \n Note
  1188                  that this is a native-Kubernetes-style core.v1.LocalObjectReference,
  1189                  not an Ambassador-style `{name}.{namespace}` string.  Because we're
  1190                  opinionated, it does not support referencing a Secret in another
  1191                  namespace (because most native Kubernetes resources don't support
  1192                  that), but if we ever abandon that opinion and decide to support
  1193                  non-local references it, it would be by adding a `namespace:` field
  1194                  by changing it from a core.v1.LocalObjectReference to a core.v1.SecretReference,
  1195                  not by adopting the `{name}.{namespace}` notation."
  1196                properties:
  1197                  name:
  1198                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1199                      TODO: Add other useful fields. apiVersion, kind, uid?'
  1200                    type: string
  1201                type: object
  1202              tlsSecret:
  1203                description: Name of the Kubernetes secret into which to save generated
  1204                  certificates.  If ACME is enabled (see $acmeProvider), then the
  1205                  default is $hostname; otherwise the default is "".  If the value
  1206                  is "", then we do not do TLS for this Host.
  1207                properties:
  1208                  name:
  1209                    description: Name is unique within a namespace to reference a
  1210                      secret resource.
  1211                    type: string
  1212                  namespace:
  1213                    description: Namespace defines the space within which the secret
  1214                      name must be unique.
  1215                    type: string
  1216                type: object
  1217            type: object
  1218          status:
  1219            description: HostStatus defines the observed state of Host
  1220            properties:
  1221              errorBackoff:
  1222                type: string
  1223              errorReason:
  1224                description: errorReason, errorTimestamp, and errorBackoff are valid
  1225                  when state==Error.
  1226                type: string
  1227              errorTimestamp:
  1228                format: date-time
  1229                type: string
  1230              phaseCompleted:
  1231                description: phaseCompleted and phasePending are valid when state==Pending
  1232                  or state==Error.
  1233                enum:
  1234                - NA
  1235                - DefaultsFilled
  1236                - ACMEUserPrivateKeyCreated
  1237                - ACMEUserRegistered
  1238                - ACMECertificateChallenge
  1239                type: string
  1240              phasePending:
  1241                description: phaseCompleted and phasePending are valid when state==Pending
  1242                  or state==Error.
  1243                enum:
  1244                - NA
  1245                - DefaultsFilled
  1246                - ACMEUserPrivateKeyCreated
  1247                - ACMEUserRegistered
  1248                - ACMECertificateChallenge
  1249                type: string
  1250              state:
  1251                description: The first value listed in the Enum marker becomes the
  1252                  "zero" value, and it would be great if "Pending" could be the default
  1253                  value; but it's Important that the "zero" value be able to be shown
  1254                  as empty/omitted from display, and we really do want `kubectl get
  1255                  hosts` to say "Pending" in the "STATE" column, and not leave the
  1256                  column empty.
  1257                enum:
  1258                - Initial
  1259                - Pending
  1260                - Ready
  1261                - Error
  1262                type: string
  1263              tlsCertificateSource:
  1264                enum:
  1265                - Unknown
  1266                - None
  1267                - Other
  1268                - ACME
  1269                type: string
  1270            type: object
  1271        type: object
  1272    served: true
  1273    storage: true
  1274    subresources:
  1275      status: {}
  1276  - additionalPrinterColumns:
  1277    - jsonPath: .spec.hostname
  1278      name: Hostname
  1279      type: string
  1280    - jsonPath: .status.state
  1281      name: State
  1282      type: string
  1283    - jsonPath: .status.phaseCompleted
  1284      name: Phase Completed
  1285      type: string
  1286    - jsonPath: .status.phasePending
  1287      name: Phase Pending
  1288      type: string
  1289    - jsonPath: .metadata.creationTimestamp
  1290      name: Age
  1291      type: date
  1292    name: v3alpha1
  1293    schema:
  1294      openAPIV3Schema:
  1295        description: Host is the Schema for the hosts API
  1296        properties:
  1297          apiVersion:
  1298            description: 'APIVersion defines the versioned schema of this representation
  1299              of an object. Servers should convert recognized schemas to the latest
  1300              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1301            type: string
  1302          kind:
  1303            description: 'Kind is a string value representing the REST resource this
  1304              object represents. Servers may infer this from the endpoint the client
  1305              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1306            type: string
  1307          metadata:
  1308            type: object
  1309          spec:
  1310            description: HostSpec defines the desired state of Host
  1311            properties:
  1312              acmeProvider:
  1313                description: Specifies whether/who to talk ACME with to automatically
  1314                  manage the $tlsSecret.
  1315                properties:
  1316                  authority:
  1317                    description: Specifies who to talk ACME with to get certs. Defaults
  1318                      to Let's Encrypt; if "none" (case-insensitive), do not try to
  1319                      do ACME for this Host.
  1320                    type: string
  1321                  email:
  1322                    type: string
  1323                  privateKeySecret:
  1324                    description: "Specifies the Kubernetes Secret to use to store
  1325                      the private key of the ACME account (essentially, where to store
  1326                      the auto-generated password for the auto-created ACME account).
  1327                      \ You should not normally need to set this--the default value
  1328                      is based on a combination of the ACME authority being registered
  1329                      wit and the email address associated with the account. \n Note
  1330                      that this is a native-Kubernetes-style core.v1.LocalObjectReference,
  1331                      not an Ambassador-style `{name}.{namespace}` string.  Because
  1332                      we're opinionated, it does not support referencing a Secret
  1333                      in another namespace (because most native Kubernetes resources
  1334                      don't support that), but if we ever abandon that opinion and
  1335                      decide to support non-local references it, it would be by adding
  1336                      a `namespace:` field by changing it from a core.v1.LocalObjectReference
  1337                      to a core.v1.SecretReference, not by adopting the `{name}.{namespace}`
  1338                      notation."
  1339                    properties:
  1340                      name:
  1341                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1342                          TODO: Add other useful fields. apiVersion, kind, uid?'
  1343                        type: string
  1344                    type: object
  1345                  registration:
  1346                    description: This is normally set automatically
  1347                    type: string
  1348                type: object
  1349              ambassador_id:
  1350                description: Common to all Ambassador objects (and optional).
  1351                items:
  1352                  type: string
  1353                type: array
  1354              hostname:
  1355                description: Hostname by which the Ambassador can be reached.
  1356                type: string
  1357              mappingSelector:
  1358                description: Selector for Mappings we'll associate with this Host.
  1359                  At the moment, Selector and MappingSelector are synonyms, but that
  1360                  will change soon.
  1361                properties:
  1362                  matchExpressions:
  1363                    description: matchExpressions is a list of label selector requirements.
  1364                      The requirements are ANDed.
  1365                    items:
  1366                      description: A label selector requirement is a selector that
  1367                        contains values, a key, and an operator that relates the key
  1368                        and values.
  1369                      properties:
  1370                        key:
  1371                          description: key is the label key that the selector applies
  1372                            to.
  1373                          type: string
  1374                        operator:
  1375                          description: operator represents a key's relationship to
  1376                            a set of values. Valid operators are In, NotIn, Exists
  1377                            and DoesNotExist.
  1378                          type: string
  1379                        values:
  1380                          description: values is an array of string values. If the
  1381                            operator is In or NotIn, the values array must be non-empty.
  1382                            If the operator is Exists or DoesNotExist, the values
  1383                            array must be empty. This array is replaced during a strategic
  1384                            merge patch.
  1385                          items:
  1386                            type: string
  1387                          type: array
  1388                      required:
  1389                      - key
  1390                      - operator
  1391                      type: object
  1392                    type: array
  1393                  matchLabels:
  1394                    additionalProperties:
  1395                      type: string
  1396                    description: matchLabels is a map of {key,value} pairs. A single
  1397                      {key,value} in the matchLabels map is equivalent to an element
  1398                      of matchExpressions, whose key field is "key", the operator
  1399                      is "In", and the values array contains only "value". The requirements
  1400                      are ANDed.
  1401                    type: object
  1402                type: object
  1403              previewUrl:
  1404                description: Configuration for the Preview URL feature of Service
  1405                  Preview. Defaults to preview URLs not enabled.
  1406                properties:
  1407                  enabled:
  1408                    description: Is the Preview URL feature enabled?
  1409                    type: boolean
  1410                  type:
  1411                    description: What type of Preview URL is allowed?
  1412                    enum:
  1413                    - Path
  1414                    type: string
  1415                type: object
  1416              requestPolicy:
  1417                description: Request policy definition.
  1418                properties:
  1419                  insecure:
  1420                    properties:
  1421                      action:
  1422                        enum:
  1423                        - Redirect
  1424                        - Reject
  1425                        - Route
  1426                        type: string
  1427                      additionalPort:
  1428                        type: integer
  1429                    type: object
  1430                type: object
  1431              selector:
  1432                description: "DEPRECATED: Selector by which we can find further configuration.
  1433                  Use MappingSelector instead. \n TODO(lukeshu): In v3alpha2, figure
  1434                  out how to get rid of HostSpec.DeprecatedSelector."
  1435                properties:
  1436                  matchExpressions:
  1437                    description: matchExpressions is a list of label selector requirements.
  1438                      The requirements are ANDed.
  1439                    items:
  1440                      description: A label selector requirement is a selector that
  1441                        contains values, a key, and an operator that relates the key
  1442                        and values.
  1443                      properties:
  1444                        key:
  1445                          description: key is the label key that the selector applies
  1446                            to.
  1447                          type: string
  1448                        operator:
  1449                          description: operator represents a key's relationship to
  1450                            a set of values. Valid operators are In, NotIn, Exists
  1451                            and DoesNotExist.
  1452                          type: string
  1453                        values:
  1454                          description: values is an array of string values. If the
  1455                            operator is In or NotIn, the values array must be non-empty.
  1456                            If the operator is Exists or DoesNotExist, the values
  1457                            array must be empty. This array is replaced during a strategic
  1458                            merge patch.
  1459                          items:
  1460                            type: string
  1461                          type: array
  1462                      required:
  1463                      - key
  1464                      - operator
  1465                      type: object
  1466                    type: array
  1467                  matchLabels:
  1468                    additionalProperties:
  1469                      type: string
  1470                    description: matchLabels is a map of {key,value} pairs. A single
  1471                      {key,value} in the matchLabels map is equivalent to an element
  1472                      of matchExpressions, whose key field is "key", the operator
  1473                      is "In", and the values array contains only "value". The requirements
  1474                      are ANDed.
  1475                    type: object
  1476                type: object
  1477              tls:
  1478                description: TLS configuration.  It is not valid to specify both `tlsContext`
  1479                  and `tls`.
  1480                properties:
  1481                  alpn_protocols:
  1482                    type: string
  1483                  ca_secret:
  1484                    type: string
  1485                  cacert_chain_file:
  1486                    type: string
  1487                  cert_chain_file:
  1488                    type: string
  1489                  cert_required:
  1490                    type: boolean
  1491                  cipher_suites:
  1492                    items:
  1493                      type: string
  1494                    type: array
  1495                  crl_secret:
  1496                    type: string
  1497                  ecdh_curves:
  1498                    items:
  1499                      type: string
  1500                    type: array
  1501                  max_tls_version:
  1502                    type: string
  1503                  min_tls_version:
  1504                    type: string
  1505                  private_key_file:
  1506                    type: string
  1507                  redirect_cleartext_from:
  1508                    type: integer
  1509                  sni:
  1510                    type: string
  1511                type: object
  1512              tlsContext:
  1513                description: "Name of the TLSContext the Host resource is linked with.
  1514                  It is not valid to specify both `tlsContext` and `tls`. \n Note
  1515                  that this is a native-Kubernetes-style core.v1.LocalObjectReference,
  1516                  not an Ambassador-style `{name}.{namespace}` string.  Because we're
  1517                  opinionated, it does not support referencing a Secret in another
  1518                  namespace (because most native Kubernetes resources don't support
  1519                  that), but if we ever abandon that opinion and decide to support
  1520                  non-local references it, it would be by adding a `namespace:` field
  1521                  by changing it from a core.v1.LocalObjectReference to a core.v1.SecretReference,
  1522                  not by adopting the `{name}.{namespace}` notation."
  1523                properties:
  1524                  name:
  1525                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1526                      TODO: Add other useful fields. apiVersion, kind, uid?'
  1527                    type: string
  1528                type: object
  1529              tlsSecret:
  1530                description: Name of the Kubernetes secret into which to save generated
  1531                  certificates.  If ACME is enabled (see $acmeProvider), then the
  1532                  default is $hostname; otherwise the default is "".  If the value
  1533                  is "", then we do not do TLS for this Host.
  1534                properties:
  1535                  name:
  1536                    description: Name is unique within a namespace to reference a
  1537                      secret resource.
  1538                    type: string
  1539                  namespace:
  1540                    description: Namespace defines the space within which the secret
  1541                      name must be unique.
  1542                    type: string
  1543                type: object
  1544            type: object
  1545          status:
  1546            description: HostStatus defines the observed state of Host
  1547            properties:
  1548              errorBackoff:
  1549                type: string
  1550              errorReason:
  1551                description: errorReason, errorTimestamp, and errorBackoff are valid
  1552                  when state==Error.
  1553                type: string
  1554              errorTimestamp:
  1555                format: date-time
  1556                type: string
  1557              phaseCompleted:
  1558                description: phaseCompleted and phasePending are valid when state==Pending
  1559                  or state==Error.
  1560                enum:
  1561                - NA
  1562                - DefaultsFilled
  1563                - ACMEUserPrivateKeyCreated
  1564                - ACMEUserRegistered
  1565                - ACMECertificateChallenge
  1566                type: string
  1567              phasePending:
  1568                description: phaseCompleted and phasePending are valid when state==Pending
  1569                  or state==Error.
  1570                enum:
  1571                - NA
  1572                - DefaultsFilled
  1573                - ACMEUserPrivateKeyCreated
  1574                - ACMEUserRegistered
  1575                - ACMECertificateChallenge
  1576                type: string
  1577              state:
  1578                description: The first value listed in the Enum marker becomes the
  1579                  "zero" value, and it would be great if "Pending" could be the default
  1580                  value; but it's Important that the "zero" value be able to be shown
  1581                  as empty/omitted from display, and we really do want `kubectl get
  1582                  hosts` to say "Pending" in the "STATE" column, and not leave the
  1583                  column empty.
  1584                enum:
  1585                - Initial
  1586                - Pending
  1587                - Ready
  1588                - Error
  1589                type: string
  1590              tlsCertificateSource:
  1591                enum:
  1592                - Unknown
  1593                - None
  1594                - Other
  1595                - ACME
  1596                type: string
  1597            type: object
  1598        type: object
  1599    served: true
  1600    storage: false
  1601    subresources:
  1602      status: {}
  1603---
  1604apiVersion: apiextensions.k8s.io/v1
  1605kind: CustomResourceDefinition
  1606metadata:
  1607  annotations:
  1608    controller-gen.kubebuilder.io/version: v0.6.2
  1609  name: kubernetesendpointresolvers.getambassador.io
  1610spec:
  1611  conversion:
  1612    strategy: Webhook
  1613    webhook:
  1614      clientConfig:
  1615        service:
  1616          name: emissary-apiext
  1617          namespace: emissary-system
  1618      conversionReviewVersions:
  1619      - v1beta1
  1620  group: getambassador.io
  1621  names:
  1622    categories:
  1623    - ambassador-crds
  1624    kind: KubernetesEndpointResolver
  1625    listKind: KubernetesEndpointResolverList
  1626    plural: kubernetesendpointresolvers
  1627    singular: kubernetesendpointresolver
  1628  preserveUnknownFields: false
  1629  scope: Namespaced
  1630  versions:
  1631  - name: v1
  1632    schema:
  1633      openAPIV3Schema:
  1634        description: KubernetesEndpointResolver is the Schema for the kubernetesendpointresolver
  1635          API
  1636        properties:
  1637          apiVersion:
  1638            description: 'APIVersion defines the versioned schema of this representation
  1639              of an object. Servers should convert recognized schemas to the latest
  1640              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1641            type: string
  1642          kind:
  1643            description: 'Kind is a string value representing the REST resource this
  1644              object represents. Servers may infer this from the endpoint the client
  1645              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1646            type: string
  1647          metadata:
  1648            type: object
  1649          spec:
  1650            description: KubernetesEndpointResolver tells Ambassador to use Kubernetes
  1651              Endpoints resources to resolve services. It actually has no spec other
  1652              than the AmbassadorID.
  1653            properties:
  1654              ambassador_id:
  1655                description: "AmbassadorID declares which Ambassador instances should
  1656                  pay attention to this resource.  May either be a string or a list
  1657                  of strings.  If no value is provided, the default is: \n \tambassador_id:
  1658                  \t- \"default\""
  1659                items:
  1660                  type: string
  1661                oneOf:
  1662                - type: string
  1663                - type: array
  1664            type: object
  1665        type: object
  1666    served: true
  1667    storage: false
  1668  - name: v2
  1669    schema:
  1670      openAPIV3Schema:
  1671        description: KubernetesEndpointResolver is the Schema for the kubernetesendpointresolver
  1672          API
  1673        properties:
  1674          apiVersion:
  1675            description: 'APIVersion defines the versioned schema of this representation
  1676              of an object. Servers should convert recognized schemas to the latest
  1677              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1678            type: string
  1679          kind:
  1680            description: 'Kind is a string value representing the REST resource this
  1681              object represents. Servers may infer this from the endpoint the client
  1682              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1683            type: string
  1684          metadata:
  1685            type: object
  1686          spec:
  1687            description: KubernetesEndpointResolver tells Ambassador to use Kubernetes
  1688              Endpoints resources to resolve services. It actually has no spec other
  1689              than the AmbassadorID.
  1690            properties:
  1691              ambassador_id:
  1692                description: "AmbassadorID declares which Ambassador instances should
  1693                  pay attention to this resource.  May either be a string or a list
  1694                  of strings.  If no value is provided, the default is: \n \tambassador_id:
  1695                  \t- \"default\""
  1696                items:
  1697                  type: string
  1698                oneOf:
  1699                - type: string
  1700                - type: array
  1701            type: object
  1702        type: object
  1703    served: true
  1704    storage: true
  1705  - name: v3alpha1
  1706    schema:
  1707      openAPIV3Schema:
  1708        description: KubernetesEndpointResolver is the Schema for the kubernetesendpointresolver
  1709          API
  1710        properties:
  1711          apiVersion:
  1712            description: 'APIVersion defines the versioned schema of this representation
  1713              of an object. Servers should convert recognized schemas to the latest
  1714              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1715            type: string
  1716          kind:
  1717            description: 'Kind is a string value representing the REST resource this
  1718              object represents. Servers may infer this from the endpoint the client
  1719              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1720            type: string
  1721          metadata:
  1722            type: object
  1723          spec:
  1724            description: KubernetesEndpointResolver tells Ambassador to use Kubernetes
  1725              Endpoints resources to resolve services. It actually has no spec other
  1726              than the AmbassadorID.
  1727            properties:
  1728              ambassador_id:
  1729                description: "AmbassadorID declares which Ambassador instances should
  1730                  pay attention to this resource. If no value is provided, the default
  1731                  is: \n \tambassador_id: \t- \"default\" \n TODO(lukeshu): In v3alpha2,
  1732                  consider renaming all of the `ambassador_id` (singular) fields to
  1733                  `ambassador_ids` (plural)."
  1734                items:
  1735                  type: string
  1736                type: array
  1737            type: object
  1738        type: object
  1739    served: true
  1740    storage: false
  1741---
  1742apiVersion: apiextensions.k8s.io/v1
  1743kind: CustomResourceDefinition
  1744metadata:
  1745  annotations:
  1746    controller-gen.kubebuilder.io/version: v0.6.2
  1747  name: kubernetesserviceresolvers.getambassador.io
  1748spec:
  1749  conversion:
  1750    strategy: Webhook
  1751    webhook:
  1752      clientConfig:
  1753        service:
  1754          name: emissary-apiext
  1755          namespace: emissary-system
  1756      conversionReviewVersions:
  1757      - v1beta1
  1758  group: getambassador.io
  1759  names:
  1760    categories:
  1761    - ambassador-crds
  1762    kind: KubernetesServiceResolver
  1763    listKind: KubernetesServiceResolverList
  1764    plural: kubernetesserviceresolvers
  1765    singular: kubernetesserviceresolver
  1766  preserveUnknownFields: false
  1767  scope: Namespaced
  1768  versions:
  1769  - name: v1
  1770    schema:
  1771      openAPIV3Schema:
  1772        description: KubernetesServiceResolver is the Schema for the kubernetesserviceresolver
  1773          API
  1774        properties:
  1775          apiVersion:
  1776            description: 'APIVersion defines the versioned schema of this representation
  1777              of an object. Servers should convert recognized schemas to the latest
  1778              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1779            type: string
  1780          kind:
  1781            description: 'Kind is a string value representing the REST resource this
  1782              object represents. Servers may infer this from the endpoint the client
  1783              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1784            type: string
  1785          metadata:
  1786            type: object
  1787          spec:
  1788            description: KubernetesServiceResolver tells Ambassador to use Kubernetes
  1789              Service resources to resolve services. It actually has no spec other
  1790              than the AmbassadorID.
  1791            properties:
  1792              ambassador_id:
  1793                description: "AmbassadorID declares which Ambassador instances should
  1794                  pay attention to this resource.  May either be a string or a list
  1795                  of strings.  If no value is provided, the default is: \n \tambassador_id:
  1796                  \t- \"default\""
  1797                items:
  1798                  type: string
  1799                oneOf:
  1800                - type: string
  1801                - type: array
  1802            type: object
  1803        type: object
  1804    served: true
  1805    storage: false
  1806  - name: v2
  1807    schema:
  1808      openAPIV3Schema:
  1809        description: KubernetesServiceResolver is the Schema for the kubernetesserviceresolver
  1810          API
  1811        properties:
  1812          apiVersion:
  1813            description: 'APIVersion defines the versioned schema of this representation
  1814              of an object. Servers should convert recognized schemas to the latest
  1815              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1816            type: string
  1817          kind:
  1818            description: 'Kind is a string value representing the REST resource this
  1819              object represents. Servers may infer this from the endpoint the client
  1820              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1821            type: string
  1822          metadata:
  1823            type: object
  1824          spec:
  1825            description: KubernetesServiceResolver tells Ambassador to use Kubernetes
  1826              Service resources to resolve services. It actually has no spec other
  1827              than the AmbassadorID.
  1828            properties:
  1829              ambassador_id:
  1830                description: "AmbassadorID declares which Ambassador instances should
  1831                  pay attention to this resource.  May either be a string or a list
  1832                  of strings.  If no value is provided, the default is: \n \tambassador_id:
  1833                  \t- \"default\""
  1834                items:
  1835                  type: string
  1836                oneOf:
  1837                - type: string
  1838                - type: array
  1839            type: object
  1840        type: object
  1841    served: true
  1842    storage: true
  1843  - name: v3alpha1
  1844    schema:
  1845      openAPIV3Schema:
  1846        description: KubernetesServiceResolver is the Schema for the kubernetesserviceresolver
  1847          API
  1848        properties:
  1849          apiVersion:
  1850            description: 'APIVersion defines the versioned schema of this representation
  1851              of an object. Servers should convert recognized schemas to the latest
  1852              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1853            type: string
  1854          kind:
  1855            description: 'Kind is a string value representing the REST resource this
  1856              object represents. Servers may infer this from the endpoint the client
  1857              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1858            type: string
  1859          metadata:
  1860            type: object
  1861          spec:
  1862            description: KubernetesServiceResolver tells Ambassador to use Kubernetes
  1863              Service resources to resolve services. It actually has no spec other
  1864              than the AmbassadorID.
  1865            properties:
  1866              ambassador_id:
  1867                description: "AmbassadorID declares which Ambassador instances should
  1868                  pay attention to this resource. If no value is provided, the default
  1869                  is: \n \tambassador_id: \t- \"default\" \n TODO(lukeshu): In v3alpha2,
  1870                  consider renaming all of the `ambassador_id` (singular) fields to
  1871                  `ambassador_ids` (plural)."
  1872                items:
  1873                  type: string
  1874                type: array
  1875            type: object
  1876        type: object
  1877    served: true
  1878    storage: false
  1879---
  1880apiVersion: apiextensions.k8s.io/v1
  1881kind: CustomResourceDefinition
  1882metadata:
  1883  annotations:
  1884    controller-gen.kubebuilder.io/version: v0.6.2
  1885  name: listeners.getambassador.io
  1886spec:
  1887  group: getambassador.io
  1888  names:
  1889    categories:
  1890    - ambassador-crds
  1891    kind: Listener
  1892    listKind: ListenerList
  1893    plural: listeners
  1894    singular: listener
  1895  preserveUnknownFields: false
  1896  scope: Namespaced
  1897  versions:
  1898  - additionalPrinterColumns:
  1899    - jsonPath: .spec.port
  1900      name: Port
  1901      type: string
  1902    - jsonPath: .spec.protocol
  1903      name: Protocol
  1904      type: string
  1905    - jsonPath: .spec.protocolStack
  1906      name: Stack
  1907      type: string
  1908    - jsonPath: .spec.statsPrefix
  1909      name: StatsPrefix
  1910      type: string
  1911    - jsonPath: .spec.securityModel
  1912      name: Security
  1913      type: string
  1914    - jsonPath: .spec.l7Depth
  1915      name: L7Depth
  1916      type: string
  1917    name: v3alpha1
  1918    schema:
  1919      openAPIV3Schema:
  1920        description: Listener is the Schema for the hosts API
  1921        properties:
  1922          apiVersion:
  1923            description: 'APIVersion defines the versioned schema of this representation
  1924              of an object. Servers should convert recognized schemas to the latest
  1925              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1926            type: string
  1927          kind:
  1928            description: 'Kind is a string value representing the REST resource this
  1929              object represents. Servers may infer this from the endpoint the client
  1930              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1931            type: string
  1932          metadata:
  1933            type: object
  1934          spec:
  1935            description: ListenerSpec defines the desired state of this Port
  1936            properties:
  1937              ambassador_id:
  1938                description: "AmbassadorID declares which Ambassador instances should
  1939                  pay attention to this resource. If no value is provided, the default
  1940                  is: \n \tambassador_id: \t- \"default\" \n TODO(lukeshu): In v3alpha2,
  1941                  consider renaming all of the `ambassador_id` (singular) fields to
  1942                  `ambassador_ids` (plural)."
  1943                items:
  1944                  type: string
  1945                type: array
  1946              hostBinding:
  1947                description: HostBinding allows restricting which Hosts will be used
  1948                  for this Listener.
  1949                properties:
  1950                  namespace:
  1951                    description: NamespaceBindingType defines we we specify which
  1952                      namespaces to look for Hosts in.
  1953                    properties:
  1954                      from:
  1955                        description: NamespaceFromType defines how we evaluate a NamespaceBindingType.
  1956                        enum:
  1957                        - SELF
  1958                        - ALL
  1959                        - SELECTOR
  1960                        type: string
  1961                    type: object
  1962                  selector:
  1963                    description: A label selector is a label query over a set of resources.
  1964                      The result of matchLabels and matchExpressions are ANDed. An
  1965                      empty label selector matches all objects. A null label selector
  1966                      matches no objects.
  1967                    properties:
  1968                      matchExpressions:
  1969                        description: matchExpressions is a list of label selector
  1970                          requirements. The requirements are ANDed.
  1971                        items:
  1972                          description: A label selector requirement is a selector
  1973                            that contains values, a key, and an operator that relates
  1974                            the key and values.
  1975                          properties:
  1976                            key:
  1977                              description: key is the label key that the selector
  1978                                applies to.
  1979                              type: string
  1980                            operator:
  1981                              description: operator represents a key's relationship
  1982                                to a set of values. Valid operators are In, NotIn,
  1983                                Exists and DoesNotExist.
  1984                              type: string
  1985                            values:
  1986                              description: values is an array of string values. If
  1987                                the operator is In or NotIn, the values array must
  1988                                be non-empty. If the operator is Exists or DoesNotExist,
  1989                                the values array must be empty. This array is replaced
  1990                                during a strategic merge patch.
  1991                              items:
  1992                                type: string
  1993                              type: array
  1994                          required:
  1995                          - key
  1996                          - operator
  1997                          type: object
  1998                        type: array
  1999                      matchLabels:
  2000                        additionalProperties:
  2001                          type: string
  2002                        description: matchLabels is a map of {key,value} pairs. A
  2003                          single {key,value} in the matchLabels map is equivalent
  2004                          to an element of matchExpressions, whose key field is "key",
  2005                          the operator is "In", and the values array contains only
  2006                          "value". The requirements are ANDed.
  2007                        type: object
  2008                    type: object
  2009                type: object
  2010              l7Depth:
  2011                description: L7Depth specifies how many layer 7 load balancers are
  2012                  between us and the edge of the network.
  2013                format: int32
  2014                type: integer
  2015              port:
  2016                description: Port is the network port. Only one Listener can use a
  2017                  given port.
  2018                format: int32
  2019                maximum: 65535
  2020                minimum: 1
  2021                type: integer
  2022              protocol:
  2023                description: Protocol is a shorthand for certain predefined stacks.
  2024                  Exactly one of Protocol or ProtocolStack must be supplied.
  2025                enum:
  2026                - HTTP
  2027                - HTTPS
  2028                - HTTPPROXY
  2029                - HTTPSPROXY
  2030                - TCP
  2031                - TLS
  2032                - UDP
  2033                type: string
  2034              protocolStack:
  2035                description: ProtocolStack explicitly specifies the protocol stack
  2036                  to set up. Exactly one of Protocol or ProtocolStack must be supplied.
  2037                items:
  2038                  description: ProtocolStackElement defines specific layers that may
  2039                    be combined in a protocol stack for processing connections to
  2040                    a port.
  2041                  enum:
  2042                  - HTTP
  2043                  - PROXY
  2044                  - TLS
  2045                  - TCP
  2046                  - UDP
  2047                  type: string
  2048                type: array
  2049              securityModel:
  2050                description: SecurityModel specifies how to determine whether connections
  2051                  to this port are secure or insecure.
  2052                enum:
  2053                - XFP
  2054                - SECURE
  2055                - INSECURE
  2056                type: string
  2057              statsPrefix:
  2058                description: 'StatsPrefix specifies the prefix for statistics sent
  2059                  by Envoy about this Listener. The default depends on the protocol:
  2060                  "ingress-http", "ingress-https", "ingress-tls-$port", or "ingress-$port".'
  2061                type: string
  2062            required:
  2063            - hostBinding
  2064            - port
  2065            - securityModel
  2066            type: object
  2067        type: object
  2068    served: true
  2069    storage: true
  2070    subresources: {}
  2071---
  2072apiVersion: apiextensions.k8s.io/v1
  2073kind: CustomResourceDefinition
  2074metadata:
  2075  annotations:
  2076    controller-gen.kubebuilder.io/version: v0.6.2
  2077  name: logservices.getambassador.io
  2078spec:
  2079  conversion:
  2080    strategy: Webhook
  2081    webhook:
  2082      clientConfig:
  2083        service:
  2084          name: emissary-apiext
  2085          namespace: emissary-system
  2086      conversionReviewVersions:
  2087      - v1beta1
  2088  group: getambassador.io
  2089  names:
  2090    categories:
  2091    - ambassador-crds
  2092    kind: LogService
  2093    listKind: LogServiceList
  2094    plural: logservices
  2095    singular: logservice
  2096  preserveUnknownFields: false
  2097  scope: Namespaced
  2098  versions:
  2099  - name: v1
  2100    schema:
  2101      openAPIV3Schema:
  2102        description: LogService is the Schema for the logservices API
  2103        properties:
  2104          apiVersion:
  2105            description: 'APIVersion defines the versioned schema of this representation
  2106              of an object. Servers should convert recognized schemas to the latest
  2107              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  2108            type: string
  2109          kind:
  2110            description: 'Kind is a string value representing the REST resource this
  2111              object represents. Servers may infer this from the endpoint the client
  2112              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  2113            type: string
  2114          metadata:
  2115            type: object
  2116          spec:
  2117            description: LogServiceSpec defines the desired state of LogService
  2118            properties:
  2119              ambassador_id:
  2120                description: "AmbassadorID declares which Ambassador instances should
  2121                  pay attention to this resource.  May either be a string or a list
  2122                  of strings.  If no value is provided, the default is: \n \tambassador_id:
  2123                  \t- \"default\""
  2124                items:
  2125                  type: string
  2126                oneOf:
  2127                - type: string
  2128                - type: array
  2129              driver:
  2130                enum:
  2131                - tcp
  2132                - http
  2133                type: string
  2134              driver_config:
  2135                properties:
  2136                  additional_log_headers:
  2137                    items:
  2138                      properties:
  2139                        during_request:
  2140                          type: boolean
  2141                        during_response:
  2142                          type: boolean
  2143                        during_trailer:
  2144                          type: boolean
  2145                        header_name:
  2146                          type: string
  2147                      type: object
  2148                    type: array
  2149                type: object
  2150              flush_interval_byte_size:
  2151                type: integer
  2152              flush_interval_time:
  2153                type: integer
  2154              grpc:
  2155                type: boolean
  2156              service:
  2157                type: string
  2158              v3ProtocolVersion:
  2159                enum:
  2160                - v2
  2161                - v3
  2162                type: string
  2163              v3StatsName:
  2164                type: string
  2165            type: object
  2166        type: object
  2167    served: true
  2168    storage: false
  2169  - name: v2
  2170    schema:
  2171      openAPIV3Schema:
  2172        description: LogService is the Schema for the logservices API
  2173        properties:
  2174          apiVersion:
  2175            description: 'APIVersion defines the versioned schema of this representation
  2176              of an object. Servers should convert recognized schemas to the latest
  2177              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  2178            type: string
  2179          kind:
  2180            description: 'Kind is a string value representing the REST resource this
  2181              object represents. Servers may infer this from the endpoint the client
  2182              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  2183            type: string
  2184          metadata:
  2185            type: object
  2186          spec:
  2187            description: LogServiceSpec defines the desired state of LogService
  2188            properties:
  2189              ambassador_id:
  2190                description: "AmbassadorID declares which Ambassador instances should
  2191                  pay attention to this resource.  May either be a string or a list
  2192                  of strings.  If no value is provided, the default is: \n \tambassador_id:
  2193                  \t- \"default\""
  2194                items:
  2195                  type: string
  2196                oneOf:
  2197                - type: string
  2198                - type: array
  2199              driver:
  2200                enum:
  2201                - tcp
  2202                - http
  2203                type: string
  2204              driver_config:
  2205                properties:
  2206                  additional_log_headers:
  2207                    items:
  2208                      properties:
  2209                        during_request:
  2210                          type: boolean
  2211                        during_response:
  2212                          type: boolean
  2213                        during_trailer:
  2214                          type: boolean
  2215                        header_name:
  2216                          type: string
  2217                      type: object
  2218                    type: array
  2219                type: object
  2220              flush_interval_byte_size:
  2221                type: integer
  2222              flush_interval_time:
  2223                type: integer
  2224              grpc:
  2225                type: boolean
  2226              service:
  2227                type: string
  2228              v3ProtocolVersion:
  2229                enum:
  2230                - v2
  2231                - v3
  2232                type: string
  2233              v3StatsName:
  2234                type: string
  2235            type: object
  2236        type: object
  2237    served: true
  2238    storage: true
  2239  - name: v3alpha1
  2240    schema:
  2241      openAPIV3Schema:
  2242        description: LogService is the Schema for the logservices API
  2243        properties:
  2244          apiVersion:
  2245            description: 'APIVersion defines the versioned schema of this representation
  2246              of an object. Servers should convert recognized schemas to the latest
  2247              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  2248            type: string
  2249          kind:
  2250            description: 'Kind is a string value representing the REST resource this
  2251              object represents. Servers may infer this from the endpoint the client
  2252              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  2253            type: string
  2254          metadata:
  2255            type: object
  2256          spec:
  2257            description: LogServiceSpec defines the desired state of LogService
  2258            properties:
  2259              ambassador_id:
  2260                description: "AmbassadorID declares which Ambassador instances should
  2261                  pay attention to this resource. If no value is provided, the default
  2262                  is: \n \tambassador_id: \t- \"default\" \n TODO(lukeshu): In v3alpha2,
  2263                  consider renaming all of the `ambassador_id` (singular) fields to
  2264                  `ambassador_ids` (plural)."
  2265                items:
  2266                  type: string
  2267                type: array
  2268              driver:
  2269                enum:
  2270                - tcp
  2271                - http
  2272                type: string
  2273              driver_config:
  2274                properties:
  2275                  additional_log_headers:
  2276                    items:
  2277                      properties:
  2278                        during_request:
  2279                          type: boolean
  2280                        during_response:
  2281                          type: boolean
  2282                        during_trailer:
  2283                          type: boolean
  2284                        header_name:
  2285                          type: string
  2286                      type: object
  2287                    type: array
  2288                type: object
  2289              flush_interval_byte_size:
  2290                type: integer
  2291              flush_interval_time:
  2292                description: 'TODO(lukeshu): In v3alpha2, change all of the `{foo}s`/`SecondDuration`
  2293                  fields to `{foo}`/`metav1.Duration`.'
  2294                type: integer
  2295              grpc:
  2296                description: 'TODO(lukeshu): In v3alpha2, drop this LogService.spec.grpc.  Due
  2297                  to sloppy implementation it is required to be present, and required
  2298                  to be ''true''.  It is silly to have a required field with only
  2299                  one valid value, we should just remove the thing.'
  2300                type: boolean
  2301              protocol_version:
  2302                enum:
  2303                - v2
  2304                - v3
  2305                type: string
  2306              service:
  2307                type: string
  2308              stats_name:
  2309                type: string
  2310            type: object
  2311        type: object
  2312    served: true
  2313    storage: false
  2314---
  2315apiVersion: apiextensions.k8s.io/v1
  2316kind: CustomResourceDefinition
  2317metadata:
  2318  annotations:
  2319    controller-gen.kubebuilder.io/version: v0.6.2
  2320  name: mappings.getambassador.io
  2321spec:
  2322  conversion:
  2323    strategy: Webhook
  2324    webhook:
  2325      clientConfig:
  2326        service:
  2327          name: emissary-apiext
  2328          namespace: emissary-system
  2329      conversionReviewVersions:
  2330      - v1beta1
  2331  group: getambassador.io
  2332  names:
  2333    categories:
  2334    - ambassador-crds
  2335    kind: Mapping
  2336    listKind: MappingList
  2337    plural: mappings
  2338    singular: mapping
  2339  preserveUnknownFields: false
  2340  scope: Namespaced
  2341  versions:
  2342  - additionalPrinterColumns:
  2343    - jsonPath: .spec.host
  2344      name: Source Host
  2345      type: string
  2346    - jsonPath: .spec.prefix
  2347      name: Source Prefix
  2348      type: string
  2349    - jsonPath: .spec.service
  2350      name: Dest Service
  2351      type: string
  2352    - jsonPath: .status.state
  2353      name: State
  2354      type: string
  2355    - jsonPath: .status.reason
  2356      name: Reason
  2357      type: string
  2358    name: v1
  2359    schema:
  2360      openAPIV3Schema:
  2361        description: Mapping is the Schema for the mappings API
  2362        properties:
  2363          apiVersion:
  2364            description: 'APIVersion defines the versioned schema of this representation
  2365              of an object. Servers should convert recognized schemas to the latest
  2366              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  2367            type: string
  2368          kind:
  2369            description: 'Kind is a string value representing the REST resource this
  2370              object represents. Servers may infer this from the endpoint the client
  2371              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  2372            type: string
  2373          metadata:
  2374            type: object
  2375          spec:
  2376            description: MappingSpec defines the desired state of Mapping
  2377            properties:
  2378              add_linkerd_headers:
  2379                type: boolean
  2380              add_request_headers:
  2381                additionalProperties:
  2382                  oneOf:
  2383                  - type: string
  2384                  - type: object
  2385                type: object
  2386              add_response_headers:
  2387                additionalProperties:
  2388                  oneOf:
  2389                  - type: string
  2390                  - type: object
  2391                type: object
  2392              allow_upgrade:
  2393                description: "A case-insensitive list of the non-HTTP protocols to
  2394                  allow \"upgrading\" to from HTTP via the \"Connection: upgrade\"
  2395                  mechanism[1].  After the upgrade, Ambassador does not interpret
  2396                  the traffic, and behaves similarly to how it does for TCPMappings.
  2397                  \n [1]: https://tools.ietf.org/html/rfc7230#section-6.7 \n For example,
  2398                  if your upstream service supports WebSockets, you would write \n
  2399                  \   allow_upgrade:    - websocket \n Or if your upstream service
  2400                  supports upgrading from HTTP to SPDY (as the Kubernetes apiserver
  2401                  does for `kubectl exec` functionality), you would write \n    allow_upgrade:
  2402                  \   - spdy/3.1"
  2403                items:
  2404                  type: string
  2405                type: array
  2406              ambassador_id:
  2407                description: "AmbassadorID declares which Ambassador instances should
  2408                  pay attention to this resource.  May either be a string or a list
  2409                  of strings.  If no value is provided, the default is: \n \tambassador_id:
  2410                  \t- \"default\""
  2411                items:
  2412                  type: string
  2413                oneOf:
  2414                - type: string
  2415                - type: array
  2416              auth_context_extensions:
  2417                additionalProperties:
  2418                  type: string
  2419                type: object
  2420              auto_host_rewrite:
  2421                type: boolean
  2422              bypass_auth:
  2423                type: boolean
  2424              bypass_error_response_overrides:
  2425                description: If true, bypasses any `error_response_overrides` set
  2426                  on the Ambassador module.
  2427                type: boolean
  2428              case_sensitive:
  2429                type: boolean
  2430              circuit_breakers:
  2431                items:
  2432                  properties:
  2433                    max_connections:
  2434                      type: integer
  2435                    max_pending_requests:
  2436                      type: integer
  2437                    max_requests:
  2438                      type: integer
  2439                    max_retries:
  2440                      type: integer
  2441                    priority:
  2442                      enum:
  2443                      - default
  2444                      - high
  2445                      type: string
  2446                  type: object
  2447                type: array
  2448              cluster_idle_timeout_ms:
  2449                type: integer
  2450              cluster_max_connection_lifetime_ms:
  2451                type: integer
  2452              cluster_tag:
  2453                type: string
  2454              connect_timeout_ms:
  2455                type: integer
  2456              cors:
  2457                properties:
  2458                  credentials:
  2459                    type: boolean
  2460                  exposed_headers:
  2461                    description: StringOrStringList is just what it says on the tin,
  2462                      but note that it will always marshal as a list of strings right
  2463                      now.
  2464                    items:
  2465                      type: string
  2466                    oneOf:
  2467                    - type: string
  2468                    - type: array
  2469                  headers:
  2470                    description: StringOrStringList is just what it says on the tin,
  2471                      but note that it will always marshal as a list of strings right
  2472                      now.
  2473                    items:
  2474                      type: string
  2475                    oneOf:
  2476                    - type: string
  2477                    - type: array
  2478                  max_age:
  2479                    type: string
  2480                  methods:
  2481                    description: StringOrStringList is just what it says on the tin,
  2482                      but note that it will always marshal as a list of strings right
  2483                      now.
  2484                    items:
  2485                      type: string
  2486                    oneOf:
  2487                    - type: string
  2488                    - type: array
  2489                  origins:
  2490                    description: OriginList is a list of origin strings, either as
  2491                      a `[]string` or as a comma-separated `string`.
  2492                    oneOf:
  2493                    - type: string
  2494                    - type: array
  2495                type: object
  2496              dns_type:
  2497                type: string
  2498              docs:
  2499                description: DocsInfo provides some extra information about the docs
  2500                  for the Mapping (used by the Dev Portal)
  2501                properties:
  2502                  display_name:
  2503                    type: string
  2504                  ignored:
  2505                    type: boolean
  2506                  path:
  2507                    type: string
  2508                  timeout_ms:
  2509                    type: integer
  2510                  url:
  2511                    type: string
  2512                type: object
  2513              enable_ipv4:
  2514                type: boolean
  2515              enable_ipv6:
  2516                type: boolean
  2517              envoy_override:
  2518                description: UntypedDict is relatively opaque as a Go type, but it
  2519                  preserves its contents in a roundtrippable way.
  2520                type: object
  2521                x-kubernetes-preserve-unknown-fields: true
  2522              error_response_overrides:
  2523                description: Error response overrides for this Mapping. Replaces all
  2524                  of the `error_response_overrides` set on the Ambassador module,
  2525                  if any.
  2526                items:
  2527                  description: A response rewrite for an HTTP error response
  2528                  properties:
  2529                    body:
  2530                      description: The new response body
  2531                      properties:
  2532                        content_type:
  2533                          description: The content type to set on the error response
  2534                            body when using text_format or text_format_source. Defaults
  2535                            to 'text/plain'.
  2536                          type: string
  2537                        json_format:
  2538                          additionalProperties:
  2539                            type: string
  2540                          description: 'A JSON response with content-type: application/json.
  2541                            The values can contain format text like in text_format.'
  2542                          type: object
  2543                        text_format:
  2544                          description: A format string representing a text response
  2545                            body. Content-Type can be set using the `content_type`
  2546                            field below.
  2547                          type: string
  2548                        text_format_source:
  2549                          description: A format string sourced from a file on the
  2550                            Ambassador container. Useful for larger response bodies
  2551                            that should not be placed inline in configuration.
  2552                          properties:
  2553                            filename:
  2554                              description: The name of a file on the Ambassador pod
  2555                                that contains a format text string.
  2556                              type: string
  2557                          type: object
  2558                      type: object
  2559                    on_status_code:
  2560                      description: The status code to match on -- not a pointer because
  2561                        it's required.
  2562                      maximum: 599
  2563                      minimum: 400
  2564                      type: integer
  2565                  required:
  2566                  - body
  2567                  - on_status_code
  2568                  type: object
  2569                minItems: 1
  2570                type: array
  2571              grpc:
  2572                type: boolean
  2573              headers:
  2574                additionalProperties:
  2575                  description: BoolOrString is a type that can hold a Boolean or a
  2576                    string.
  2577                  oneOf:
  2578                  - type: string
  2579                  - type: boolean
  2580                type: object
  2581              host:
  2582                type: string
  2583              host_redirect:
  2584                type: boolean
  2585              host_regex:
  2586                type: boolean
  2587              host_rewrite:
  2588                type: string
  2589              idle_timeout_ms:
  2590                type: integer
  2591              keepalive:
  2592                properties:
  2593                  idle_time:
  2594                    type: integer
  2595                  interval:
  2596                    type: integer
  2597                  probes:
  2598                    type: integer
  2599                type: object
  2600              labels:
  2601                additionalProperties:
  2602                  description: A MappingLabelGroupsArray is an array of MappingLabelGroups.
  2603                    I know, complex.
  2604                  items:
  2605                    additionalProperties:
  2606                      description: 'A MappingLabelsArray is the value in the MappingLabelGroup:
  2607                        an array of label specifiers.'
  2608                      items:
  2609                        description: A MappingLabelSpecifier (finally!) defines a
  2610                          single label. There are multiple kinds of label, so this
  2611                          is more complex than we'd like it to be. See the remarks
  2612                          about schema on custom types in `./common.go`.
  2613                        oneOf:
  2614                        - type: string
  2615                        - type: object
  2616                      type: array
  2617                    description: 'A MappingLabelGroup is a single element of a MappingLabelGroupsArray:
  2618                      a second map, where the key is a human-readable name that identifies
  2619                      the group.'
  2620                    maxProperties: 1
  2621                    minProperties: 1
  2622                    type: object
  2623                  type: array
  2624                description: A DomainMap is the overall Mapping.spec.Labels type.
  2625                  It maps domains (kind of like namespaces for Mapping labels) to
  2626                  arrays of label groups.
  2627                type: object
  2628              load_balancer:
  2629                properties:
  2630                  cookie:
  2631                    properties:
  2632                      name:
  2633                        type: string
  2634                      path:
  2635                        type: string
  2636                      ttl:
  2637                        type: string
  2638                    required:
  2639                    - name
  2640                    type: object
  2641                  header:
  2642                    type: string
  2643                  policy:
  2644                    enum:
  2645                    - round_robin
  2646                    - ring_hash
  2647                    - maglev
  2648                    - least_request
  2649                    type: string
  2650                  source_ip:
  2651                    type: boolean
  2652                required:
  2653                - policy
  2654                type: object
  2655              method:
  2656                type: string
  2657              method_regex:
  2658                type: boolean
  2659              modules:
  2660                items:
  2661                  description: UntypedDict is relatively opaque as a Go type, but
  2662                    it preserves its contents in a roundtrippable way.
  2663                  type: object
  2664                  x-kubernetes-preserve-unknown-fields: true
  2665                type: array
  2666              outlier_detection:
  2667                type: string
  2668              path_redirect:
  2669                description: Path replacement to use when generating an HTTP redirect.
  2670                  Used with `host_redirect`.
  2671                type: string
  2672              precedence:
  2673                type: integer
  2674              prefix:
  2675                type: string
  2676              prefix_exact:
  2677                type: boolean
  2678              prefix_redirect:
  2679                description: Prefix rewrite to use when generating an HTTP redirect.
  2680                  Used with `host_redirect`.
  2681                type: string
  2682              prefix_regex:
  2683                type: boolean
  2684              priority:
  2685                type: string
  2686              query_parameters:
  2687                additionalProperties:
  2688                  description: BoolOrString is a type that can hold a Boolean or a
  2689                    string.
  2690                  oneOf:
  2691                  - type: string
  2692                  - type: boolean
  2693                type: object
  2694              redirect_response_code:
  2695                description: The response code to use when generating an HTTP redirect.
  2696                  Defaults to 301. Used with `host_redirect`.
  2697                enum:
  2698                - 301
  2699                - 302
  2700                - 303
  2701                - 307
  2702                - 308
  2703                type: integer
  2704              regex_headers:
  2705                additionalProperties:
  2706                  type: string
  2707                type: object
  2708              regex_query_parameters:
  2709                additionalProperties:
  2710                  type: string
  2711                type: object
  2712              regex_redirect:
  2713                description: Prefix regex rewrite to use when generating an HTTP redirect.
  2714                  Used with `host_redirect`.
  2715                properties:
  2716                  pattern:
  2717                    type: string
  2718                  substitution:
  2719                    type: string
  2720                type: object
  2721              regex_rewrite:
  2722                properties:
  2723                  pattern:
  2724                    type: string
  2725                  substitution:
  2726                    type: string
  2727                type: object
  2728              remove_request_headers:
  2729                description: StringOrStringList is just what it says on the tin, but
  2730                  note that it will always marshal as a list of strings right now.
  2731                items:
  2732                  type: string
  2733                oneOf:
  2734                - type: string
  2735                - type: array
  2736              remove_response_headers:
  2737                description: StringOrStringList is just what it says on the tin, but
  2738                  note that it will always marshal as a list of strings right now.
  2739                items:
  2740                  type: string
  2741                oneOf:
  2742                - type: string
  2743                - type: array
  2744              resolver:
  2745                type: string
  2746              respect_dns_ttl:
  2747                type: boolean
  2748              retry_policy:
  2749                properties:
  2750                  num_retries:
  2751                    type: integer
  2752                  per_try_timeout:
  2753                    type: string
  2754                  retry_on:
  2755                    enum:
  2756                    - 5xx
  2757                    - gateway-error
  2758                    - connect-failure
  2759                    - retriable-4xx
  2760                    - refused-stream
  2761                    - retriable-status-codes
  2762                    type: string
  2763                type: object
  2764              rewrite:
  2765                type: string
  2766              service:
  2767                type: string
  2768              shadow:
  2769                type: boolean
  2770              timeout_ms:
  2771                description: The timeout for requests that use this Mapping. Overrides
  2772                  `cluster_request_timeout_ms` set on the Ambassador Module, if it
  2773                  exists.
  2774                type: integer
  2775              tls:
  2776                description: BoolOrString is a type that can hold a Boolean or a string.
  2777                oneOf:
  2778                - type: string
  2779                - type: boolean
  2780              use_websocket:
  2781                description: 'use_websocket is deprecated, and is equivlaent to setting
  2782                  `allow_upgrade: ["websocket"]`'
  2783                type: boolean
  2784              v3StatsName:
  2785                type: string
  2786              weight:
  2787                type: integer
  2788            required:
  2789            - prefix
  2790            - service
  2791            type: object
  2792          status:
  2793            description: MappingStatus defines the observed state of Mapping
  2794            properties:
  2795              reason:
  2796                type: string
  2797              state:
  2798                enum:
  2799                - ""
  2800                - Inactive
  2801                - Running
  2802                type: string
  2803            type: object
  2804        type: object
  2805    served: true
  2806    storage: false
  2807    subresources:
  2808      status: {}
  2809  - additionalPrinterColumns:
  2810    - jsonPath: .spec.host
  2811      name: Source Host
  2812      type: string
  2813    - jsonPath: .spec.prefix
  2814      name: Source Prefix
  2815      type: string
  2816    - jsonPath: .spec.service
  2817      name: Dest Service
  2818      type: string
  2819    - jsonPath: .status.state
  2820      name: State
  2821      type: string
  2822    - jsonPath: .status.reason
  2823      name: Reason
  2824      type: string
  2825    name: v2
  2826    schema:
  2827      openAPIV3Schema:
  2828        description: Mapping is the Schema for the mappings API
  2829        properties:
  2830          apiVersion:
  2831            description: 'APIVersion defines the versioned schema of this representation
  2832              of an object. Servers should convert recognized schemas to the latest
  2833              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  2834            type: string
  2835          kind:
  2836            description: 'Kind is a string value representing the REST resource this
  2837              object represents. Servers may infer this from the endpoint the client
  2838              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  2839            type: string
  2840          metadata:
  2841            type: object
  2842          spec:
  2843            description: MappingSpec defines the desired state of Mapping
  2844            properties:
  2845              add_linkerd_headers:
  2846                type: boolean
  2847              add_request_headers:
  2848                additionalProperties:
  2849                  oneOf:
  2850                  - type: string
  2851                  - type: object
  2852                type: object
  2853              add_response_headers:
  2854                additionalProperties:
  2855                  oneOf:
  2856                  - type: string
  2857                  - type: object
  2858                type: object
  2859              allow_upgrade:
  2860                description: "A case-insensitive list of the non-HTTP protocols to
  2861                  allow \"upgrading\" to from HTTP via the \"Connection: upgrade\"
  2862                  mechanism[1].  After the upgrade, Ambassador does not interpret
  2863                  the traffic, and behaves similarly to how it does for TCPMappings.
  2864                  \n [1]: https://tools.ietf.org/html/rfc7230#section-6.7 \n For example,
  2865                  if your upstream service supports WebSockets, you would write \n
  2866                  \   allow_upgrade:    - websocket \n Or if your upstream service
  2867                  supports upgrading from HTTP to SPDY (as the Kubernetes apiserver
  2868                  does for `kubectl exec` functionality), you would write \n    allow_upgrade:
  2869                  \   - spdy/3.1"
  2870                items:
  2871                  type: string
  2872                type: array
  2873              ambassador_id:
  2874                description: "AmbassadorID declares which Ambassador instances should
  2875                  pay attention to this resource.  May either be a string or a list
  2876                  of strings.  If no value is provided, the default is: \n \tambassador_id:
  2877                  \t- \"default\""
  2878                items:
  2879                  type: string
  2880                oneOf:
  2881                - type: string
  2882                - type: array
  2883              auth_context_extensions:
  2884                additionalProperties:
  2885                  type: string
  2886                type: object
  2887              auto_host_rewrite:
  2888                type: boolean
  2889              bypass_auth:
  2890                type: boolean
  2891              bypass_error_response_overrides:
  2892                description: If true, bypasses any `error_response_overrides` set
  2893                  on the Ambassador module.
  2894                type: boolean
  2895              case_sensitive:
  2896                type: boolean
  2897              circuit_breakers:
  2898                items:
  2899                  properties:
  2900                    max_connections:
  2901                      type: integer
  2902                    max_pending_requests:
  2903                      type: integer
  2904                    max_requests:
  2905                      type: integer
  2906                    max_retries:
  2907                      type: integer
  2908                    priority:
  2909                      enum:
  2910                      - default
  2911                      - high
  2912                      type: string
  2913                  type: object
  2914                type: array
  2915              cluster_idle_timeout_ms:
  2916                type: integer
  2917              cluster_max_connection_lifetime_ms:
  2918                type: integer
  2919              cluster_tag:
  2920                type: string
  2921              connect_timeout_ms:
  2922                type: integer
  2923              cors:
  2924                properties:
  2925                  credentials:
  2926                    type: boolean
  2927                  exposed_headers:
  2928                    description: StringOrStringList is just what it says on the tin,
  2929                      but note that it will always marshal as a list of strings right
  2930                      now.
  2931                    items:
  2932                      type: string
  2933                    oneOf:
  2934                    - type: string
  2935                    - type: array
  2936                  headers:
  2937                    description: StringOrStringList is just what it says on the tin,
  2938                      but note that it will always marshal as a list of strings right
  2939                      now.
  2940                    items:
  2941                      type: string
  2942                    oneOf:
  2943                    - type: string
  2944                    - type: array
  2945                  max_age:
  2946                    type: string
  2947                  methods:
  2948                    description: StringOrStringList is just what it says on the tin,
  2949                      but note that it will always marshal as a list of strings right
  2950                      now.
  2951                    items:
  2952                      type: string
  2953                    oneOf:
  2954                    - type: string
  2955                    - type: array
  2956                  origins:
  2957                    description: OriginList is a list of origin strings, either as
  2958                      a `[]string` or as a comma-separated `string`.
  2959                    oneOf:
  2960                    - type: string
  2961                    - type: array
  2962                type: object
  2963              dns_type:
  2964                type: string
  2965              docs:
  2966                description: DocsInfo provides some extra information about the docs
  2967                  for the Mapping (used by the Dev Portal)
  2968                properties:
  2969                  display_name:
  2970                    type: string
  2971                  ignored:
  2972                    type: boolean
  2973                  path:
  2974                    type: string
  2975                  timeout_ms:
  2976                    type: integer
  2977                  url:
  2978                    type: string
  2979                type: object
  2980              enable_ipv4:
  2981                type: boolean
  2982              enable_ipv6:
  2983                type: boolean
  2984              envoy_override:
  2985                description: UntypedDict is relatively opaque as a Go type, but it
  2986                  preserves its contents in a roundtrippable way.
  2987                type: object
  2988                x-kubernetes-preserve-unknown-fields: true
  2989              error_response_overrides:
  2990                description: Error response overrides for this Mapping. Replaces all
  2991                  of the `error_response_overrides` set on the Ambassador module,
  2992                  if any.
  2993                items:
  2994                  description: A response rewrite for an HTTP error response
  2995                  properties:
  2996                    body:
  2997                      description: The new response body
  2998                      properties:
  2999                        content_type:
  3000                          description: The content type to set on the error response
  3001                            body when using text_format or text_format_source. Defaults
  3002                            to 'text/plain'.
  3003                          type: string
  3004                        json_format:
  3005                          additionalProperties:
  3006                            type: string
  3007                          description: 'A JSON response with content-type: application/json.
  3008                            The values can contain format text like in text_format.'
  3009                          type: object
  3010                        text_format:
  3011                          description: A format string representing a text response
  3012                            body. Content-Type can be set using the `content_type`
  3013                            field below.
  3014                          type: string
  3015                        text_format_source:
  3016                          description: A format string sourced from a file on the
  3017                            Ambassador container. Useful for larger response bodies
  3018                            that should not be placed inline in configuration.
  3019                          properties:
  3020                            filename:
  3021                              description: The name of a file on the Ambassador pod
  3022                                that contains a format text string.
  3023                              type: string
  3024                          type: object
  3025                      type: object
  3026                    on_status_code:
  3027                      description: The status code to match on -- not a pointer because
  3028                        it's required.
  3029                      maximum: 599
  3030                      minimum: 400
  3031                      type: integer
  3032                  required:
  3033                  - body
  3034                  - on_status_code
  3035                  type: object
  3036                minItems: 1
  3037                type: array
  3038              grpc:
  3039                type: boolean
  3040              headers:
  3041                additionalProperties:
  3042                  description: BoolOrString is a type that can hold a Boolean or a
  3043                    string.
  3044                  oneOf:
  3045                  - type: string
  3046                  - type: boolean
  3047                type: object
  3048              host:
  3049                type: string
  3050              host_redirect:
  3051                type: boolean
  3052              host_regex:
  3053                type: boolean
  3054              host_rewrite:
  3055                type: string
  3056              idle_timeout_ms:
  3057                type: integer
  3058              keepalive:
  3059                properties:
  3060                  idle_time:
  3061                    type: integer
  3062                  interval:
  3063                    type: integer
  3064                  probes:
  3065                    type: integer
  3066                type: object
  3067              labels:
  3068                additionalProperties:
  3069                  description: A MappingLabelGroupsArray is an array of MappingLabelGroups.
  3070                    I know, complex.
  3071                  items:
  3072                    additionalProperties:
  3073                      description: 'A MappingLabelsArray is the value in the MappingLabelGroup:
  3074                        an array of label specifiers.'
  3075                      items:
  3076                        description: A MappingLabelSpecifier (finally!) defines a
  3077                          single label. There are multiple kinds of label, so this
  3078                          is more complex than we'd like it to be. See the remarks
  3079                          about schema on custom types in `./common.go`.
  3080                        oneOf:
  3081                        - type: string
  3082                        - type: object
  3083                      type: array
  3084                    description: 'A MappingLabelGroup is a single element of a MappingLabelGroupsArray:
  3085                      a second map, where the key is a human-readable name that identifies
  3086                      the group.'
  3087                    maxProperties: 1
  3088                    minProperties: 1
  3089                    type: object
  3090                  type: array
  3091                description: A DomainMap is the overall Mapping.spec.Labels type.
  3092                  It maps domains (kind of like namespaces for Mapping labels) to
  3093                  arrays of label groups.
  3094                type: object
  3095              load_balancer:
  3096                properties:
  3097                  cookie:
  3098                    properties:
  3099                      name:
  3100                        type: string
  3101                      path:
  3102                        type: string
  3103                      ttl:
  3104                        type: string
  3105                    required:
  3106                    - name
  3107                    type: object
  3108                  header:
  3109                    type: string
  3110                  policy:
  3111                    enum:
  3112                    - round_robin
  3113                    - ring_hash
  3114                    - maglev
  3115                    - least_request
  3116                    type: string
  3117                  source_ip:
  3118                    type: boolean
  3119                required:
  3120                - policy
  3121                type: object
  3122              method:
  3123                type: string
  3124              method_regex:
  3125                type: boolean
  3126              modules:
  3127                items:
  3128                  description: UntypedDict is relatively opaque as a Go type, but
  3129                    it preserves its contents in a roundtrippable way.
  3130                  type: object
  3131                  x-kubernetes-preserve-unknown-fields: true
  3132                type: array
  3133              outlier_detection:
  3134                type: string
  3135              path_redirect:
  3136                description: Path replacement to use when generating an HTTP redirect.
  3137                  Used with `host_redirect`.
  3138                type: string
  3139              precedence:
  3140                type: integer
  3141              prefix:
  3142                type: string
  3143              prefix_exact:
  3144                type: boolean
  3145              prefix_redirect:
  3146                description: Prefix rewrite to use when generating an HTTP redirect.
  3147                  Used with `host_redirect`.
  3148                type: string
  3149              prefix_regex:
  3150                type: boolean
  3151              priority:
  3152                type: string
  3153              query_parameters:
  3154                additionalProperties:
  3155                  description: BoolOrString is a type that can hold a Boolean or a
  3156                    string.
  3157                  oneOf:
  3158                  - type: string
  3159                  - type: boolean
  3160                type: object
  3161              redirect_response_code:
  3162                description: The response code to use when generating an HTTP redirect.
  3163                  Defaults to 301. Used with `host_redirect`.
  3164                enum:
  3165                - 301
  3166                - 302
  3167                - 303
  3168                - 307
  3169                - 308
  3170                type: integer
  3171              regex_headers:
  3172                additionalProperties:
  3173                  type: string
  3174                type: object
  3175              regex_query_parameters:
  3176                additionalProperties:
  3177                  type: string
  3178                type: object
  3179              regex_redirect:
  3180                description: Prefix regex rewrite to use when generating an HTTP redirect.
  3181                  Used with `host_redirect`.
  3182                properties:
  3183                  pattern:
  3184                    type: string
  3185                  substitution:
  3186                    type: string
  3187                type: object
  3188              regex_rewrite:
  3189                properties:
  3190                  pattern:
  3191                    type: string
  3192                  substitution:
  3193                    type: string
  3194                type: object
  3195              remove_request_headers:
  3196                description: StringOrStringList is just what it says on the tin, but
  3197                  note that it will always marshal as a list of strings right now.
  3198                items:
  3199                  type: string
  3200                oneOf:
  3201                - type: string
  3202                - type: array
  3203              remove_response_headers:
  3204                description: StringOrStringList is just what it says on the tin, but
  3205                  note that it will always marshal as a list of strings right now.
  3206                items:
  3207                  type: string
  3208                oneOf:
  3209                - type: string
  3210                - type: array
  3211              resolver:
  3212                type: string
  3213              respect_dns_ttl:
  3214                type: boolean
  3215              retry_policy:
  3216                properties:
  3217                  num_retries:
  3218                    type: integer
  3219                  per_try_timeout:
  3220                    type: string
  3221                  retry_on:
  3222                    enum:
  3223                    - 5xx
  3224                    - gateway-error
  3225                    - connect-failure
  3226                    - retriable-4xx
  3227                    - refused-stream
  3228                    - retriable-status-codes
  3229                    type: string
  3230                type: object
  3231              rewrite:
  3232                type: string
  3233              service:
  3234                type: string
  3235              shadow:
  3236                type: boolean
  3237              timeout_ms:
  3238                description: The timeout for requests that use this Mapping. Overrides
  3239                  `cluster_request_timeout_ms` set on the Ambassador Module, if it
  3240                  exists.
  3241                type: integer
  3242              tls:
  3243                description: BoolOrString is a type that can hold a Boolean or a string.
  3244                oneOf:
  3245                - type: string
  3246                - type: boolean
  3247              use_websocket:
  3248                description: 'use_websocket is deprecated, and is equivlaent to setting
  3249                  `allow_upgrade: ["websocket"]`'
  3250                type: boolean
  3251              v3StatsName:
  3252                type: string
  3253              weight:
  3254                type: integer
  3255            required:
  3256            - prefix
  3257            - service
  3258            type: object
  3259          status:
  3260            description: MappingStatus defines the observed state of Mapping
  3261            properties:
  3262              reason:
  3263                type: string
  3264              state:
  3265                enum:
  3266                - ""
  3267                - Inactive
  3268                - Running
  3269                type: string
  3270            type: object
  3271        type: object
  3272    served: true
  3273    storage: true
  3274    subresources:
  3275      status: {}
  3276  - additionalPrinterColumns:
  3277    - jsonPath: .spec.host
  3278      name: Source Host
  3279      type: string
  3280    - jsonPath: .spec.prefix
  3281      name: Source Prefix
  3282      type: string
  3283    - jsonPath: .spec.service
  3284      name: Dest Service
  3285      type: string
  3286    - jsonPath: .status.state
  3287      name: State
  3288      type: string
  3289    - jsonPath: .status.reason
  3290      name: Reason
  3291      type: string
  3292    name: v3alpha1
  3293    schema:
  3294      openAPIV3Schema:
  3295        description: Mapping is the Schema for the mappings API
  3296        properties:
  3297          apiVersion:
  3298            description: 'APIVersion defines the versioned schema of this representation
  3299              of an object. Servers should convert recognized schemas to the latest
  3300              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  3301            type: string
  3302          kind:
  3303            description: 'Kind is a string value representing the REST resource this
  3304              object represents. Servers may infer this from the endpoint the client
  3305              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  3306            type: string
  3307          metadata:
  3308            type: object
  3309          spec:
  3310            description: MappingSpec defines the desired state of Mapping
  3311            properties:
  3312              add_linkerd_headers:
  3313                type: boolean
  3314              add_request_headers:
  3315                additionalProperties:
  3316                  properties:
  3317                    append:
  3318                      type: boolean
  3319                    v2Representation:
  3320                      enum:
  3321                      - ""
  3322                      - string
  3323                      - "null"
  3324                      type: string
  3325                    value:
  3326                      type: string
  3327                  type: object
  3328                type: object
  3329              add_response_headers:
  3330                additionalProperties:
  3331                  properties:
  3332                    append:
  3333                      type: boolean
  3334                    v2Representation:
  3335                      enum:
  3336                      - ""
  3337                      - string
  3338                      - "null"
  3339                      type: string
  3340                    value:
  3341                      type: string
  3342                  type: object
  3343                type: object
  3344              allow_upgrade:
  3345                description: "A case-insensitive list of the non-HTTP protocols to
  3346                  allow \"upgrading\" to from HTTP via the \"Connection: upgrade\"
  3347                  mechanism[1].  After the upgrade, Ambassador does not interpret
  3348                  the traffic, and behaves similarly to how it does for TCPMappings.
  3349                  \n [1]: https://tools.ietf.org/html/rfc7230#section-6.7 \n For example,
  3350                  if your upstream service supports WebSockets, you would write \n
  3351                  \   allow_upgrade:    - websocket \n Or if your upstream service
  3352                  supports upgrading from HTTP to SPDY (as the Kubernetes apiserver
  3353                  does for `kubectl exec` functionality), you would write \n    allow_upgrade:
  3354                  \   - spdy/3.1"
  3355                items:
  3356                  type: string
  3357                type: array
  3358              ambassador_id:
  3359                description: "AmbassadorID declares which Ambassador instances should
  3360                  pay attention to this resource. If no value is provided, the default
  3361                  is: \n \tambassador_id: \t- \"default\" \n TODO(lukeshu): In v3alpha2,
  3362                  consider renaming all of the `ambassador_id` (singular) fields to
  3363                  `ambassador_ids` (plural)."
  3364                items:
  3365                  type: string
  3366                type: array
  3367              auth_context_extensions:
  3368                additionalProperties:
  3369                  type: string
  3370                type: object
  3371              auto_host_rewrite:
  3372                type: boolean
  3373              bypass_auth:
  3374                type: boolean
  3375              bypass_error_response_overrides:
  3376                description: If true, bypasses any `error_response_overrides` set
  3377                  on the Ambassador module.
  3378                type: boolean
  3379              case_sensitive:
  3380                type: boolean
  3381              circuit_breakers:
  3382                items:
  3383                  properties:
  3384                    max_connections:
  3385                      type: integer
  3386                    max_pending_requests:
  3387                      type: integer
  3388                    max_requests:
  3389                      type: integer
  3390                    max_retries:
  3391                      type: integer
  3392                    priority:
  3393                      enum:
  3394                      - default
  3395                      - high
  3396                      type: string
  3397                  type: object
  3398                type: array
  3399              cluster_idle_timeout_ms:
  3400                description: 'TODO(lukeshu): In v3alpha2, change all of the `{foo}_ms`/`MillisecondDuration`
  3401                  fields to `{foo}`/`metav1.Duration`.'
  3402                type: integer
  3403              cluster_max_connection_lifetime_ms:
  3404                description: 'TODO(lukeshu): In v3alpha2, change all of the `{foo}_ms`/`MillisecondDuration`
  3405                  fields to `{foo}`/`metav1.Duration`.'
  3406                type: integer
  3407              cluster_tag:
  3408                type: string
  3409              connect_timeout_ms:
  3410                description: 'TODO(lukeshu): In v3alpha2, change all of the `{foo}_ms`/`MillisecondDuration`
  3411                  fields to `{foo}`/`metav1.Duration`.'
  3412                type: integer
  3413              cors:
  3414                properties:
  3415                  credentials:
  3416                    type: boolean
  3417                  exposed_headers:
  3418                    items:
  3419                      type: string
  3420                    type: array
  3421                  headers:
  3422                    items:
  3423                      type: string
  3424                    type: array
  3425                  max_age:
  3426                    type: string
  3427                  methods:
  3428                    items:
  3429                      type: string
  3430                    type: array
  3431                  origins:
  3432                    items:
  3433                      type: string
  3434                    type: array
  3435                  v2CommaSeparatedOrigins:
  3436                    type: boolean
  3437                type: object
  3438              dns_type:
  3439                type: string
  3440              docs:
  3441                description: DocsInfo provides some extra information about the docs
  3442                  for the Mapping. Docs is used by both the agent and the DevPortal.
  3443                properties:
  3444                  display_name:
  3445                    type: string
  3446                  ignored:
  3447                    type: boolean
  3448                  path:
  3449                    type: string
  3450                  timeout_ms:
  3451                    description: 'TODO(lukeshu): In v3alpha2, change all of the `{foo}_ms`/`MillisecondDuration`
  3452                      fields to `{foo}`/`metav1.Duration`.'
  3453                    type: integer
  3454                  url:
  3455                    type: string
  3456                type: object
  3457              enable_ipv4:
  3458                type: boolean
  3459              enable_ipv6:
  3460                type: boolean
  3461              envoy_override:
  3462                description: UntypedDict is relatively opaque as a Go type, but it
  3463                  preserves its contents in a roundtrippable way.
  3464                type: object
  3465                x-kubernetes-preserve-unknown-fields: true
  3466              error_response_overrides:
  3467                description: Error response overrides for this Mapping. Replaces all
  3468                  of the `error_response_overrides` set on the Ambassador module,
  3469                  if any.
  3470                items:
  3471                  description: A response rewrite for an HTTP error response
  3472                  properties:
  3473                    body:
  3474                      description: The new response body
  3475                      properties:
  3476                        content_type:
  3477                          description: The content type to set on the error response
  3478                            body when using text_format or text_format_source. Defaults
  3479                            to 'text/plain'.
  3480                          type: string
  3481                        json_format:
  3482                          additionalProperties:
  3483                            type: string
  3484                          description: 'A JSON response with content-type: application/json.
  3485                            The values can contain format text like in text_format.'
  3486                          type: object
  3487                        text_format:
  3488                          description: A format string representing a text response
  3489                            body. Content-Type can be set using the `content_type`
  3490                            field below.
  3491                          type: string
  3492                        text_format_source:
  3493                          description: A format string sourced from a file on the
  3494                            Ambassador container. Useful for larger response bodies
  3495                            that should not be placed inline in configuration.
  3496                          properties:
  3497                            filename:
  3498                              description: The name of a file on the Ambassador pod
  3499                                that contains a format text string.
  3500                              type: string
  3501                          type: object
  3502                      type: object
  3503                    on_status_code:
  3504                      description: The status code to match on -- not a pointer because
  3505                        it's required.
  3506                      maximum: 599
  3507                      minimum: 400
  3508                      type: integer
  3509                  required:
  3510                  - body
  3511                  - on_status_code
  3512                  type: object
  3513                minItems: 1
  3514                type: array
  3515              grpc:
  3516                type: boolean
  3517              headers:
  3518                additionalProperties:
  3519                  type: string
  3520                type: object
  3521              host:
  3522                description: "Exact match for the hostname of a request if HostRegex
  3523                  is false; regex match for the hostname if HostRegex is true. \n
  3524                  Host specifies both a match for the ':authority' header of a request,
  3525                  as well as a match criterion for Host CRDs: a Mapping that specifies
  3526                  Host will not associate with a Host that doesn't have a matching
  3527                  Hostname. \n If both Host and Hostname are set, an error is logged,
  3528                  Host is ignored, and Hostname is used. \n DEPRECATED: Host is either
  3529                  an exact match or a regex, depending on HostRegex. Use HostName
  3530                  instead. \n TODO(lukeshu): In v3alpha2, get rid of MappingSpec.host
  3531                  and MappingSpec.host_regex in favor of a MappingSpec.deprecated_hostname_regex."
  3532                type: string
  3533              host_redirect:
  3534                type: boolean
  3535              host_regex:
  3536                description: "DEPRECATED: Host is either an exact match or a regex,
  3537                  depending on HostRegex. Use HostName instead. \n TODO(lukeshu):
  3538                  In v3alpha2, get rid of MappingSpec.host and MappingSpec.host_regex
  3539                  in favor of a MappingSpec.deprecated_hostname_regex."
  3540                type: boolean
  3541              host_rewrite:
  3542                type: string
  3543              hostname:
  3544                description: "Hostname is a DNS glob specifying the hosts to which
  3545                  this Mapping applies. \n Hostname specifies both a match for the
  3546                  ':authority' header of a request, as well as a match criterion for
  3547                  Host CRDs: a Mapping that specifies Hostname will not associate
  3548                  with a Host that doesn't have a matching Hostname. \n If both Host
  3549                  and Hostname are set, an error is logged, Host is ignored, and Hostname
  3550                  is used."
  3551                type: string
  3552              idle_timeout_ms:
  3553                description: 'TODO(lukeshu): In v3alpha2, change all of the `{foo}_ms`/`MillisecondDuration`
  3554                  fields to `{foo}`/`metav1.Duration`.'
  3555                type: integer
  3556              keepalive:
  3557                properties:
  3558                  idle_time:
  3559                    type: integer
  3560                  interval:
  3561                    type: integer
  3562                  probes:
  3563                    type: integer
  3564                type: object
  3565              labels:
  3566                additionalProperties:
  3567                  description: A MappingLabelGroupsArray is an array of MappingLabelGroups.
  3568                    I know, complex.
  3569                  items:
  3570                    additionalProperties:
  3571                      description: 'A MappingLabelsArray is the value in the MappingLabelGroup:
  3572                        an array of label specifiers.'
  3573                      items:
  3574                        description: "A MappingLabelSpecifier (finally!) defines a
  3575                          single label. \n This mimics envoy/config/route/v3/route_components.proto:RateLimit:Action:action_specifier."
  3576                        maxProperties: 1
  3577                        minProperties: 1
  3578                        properties:
  3579                          destination_cluster:
  3580                            description: Sets the label "destination_cluster=«Envoy
  3581                              destination cluster name»".
  3582                            properties:
  3583                              key:
  3584                                enum:
  3585                                - destination_cluster
  3586                                type: string
  3587                            required:
  3588                            - key
  3589                            type: object
  3590                          generic_key:
  3591                            description: Sets the label "«key»=«value»" (where by
  3592                              default «key» is "generic_key").
  3593                            properties:
  3594                              key:
  3595                                description: The default is "generic_key".
  3596                                type: string
  3597                              v2Shorthand:
  3598                                type: boolean
  3599                              value:
  3600                                type: string
  3601                            required:
  3602                            - value
  3603                            type: object
  3604                          remote_address:
  3605                            description: Sets the label "remote_address=«IP address
  3606                              of the client»".
  3607                            properties:
  3608                              key:
  3609                                enum:
  3610                                - remote_address
  3611                                type: string
  3612                            required:
  3613                            - key
  3614                            type: object
  3615                          request_headers:
  3616                            description: If the «header_name» header is set, then
  3617                              set the label "«key»=«Value of the «header_name» header»";
  3618                              otherwise skip applying this label group.
  3619                            properties:
  3620                              header_name:
  3621                                type: string
  3622                              key:
  3623                                type: string
  3624                              omit_if_not_present:
  3625                                type: boolean
  3626                            required:
  3627                            - header_name
  3628                            - key
  3629                            type: object
  3630                          source_cluster:
  3631                            description: Sets the label "source_cluster=«Envoy source
  3632                              cluster name»".
  3633                            properties:
  3634                              key:
  3635                                enum:
  3636                                - source_cluster
  3637                                type: string
  3638                            required:
  3639                            - key
  3640                            type: object
  3641                        type: object
  3642                      type: array
  3643                    description: 'A MappingLabelGroup is a single element of a MappingLabelGroupsArray:
  3644                      a second map, where the key is a human-readable name that identifies
  3645                      the group.'
  3646                    maxProperties: 1
  3647                    minProperties: 1
  3648                    type: object
  3649                  type: array
  3650                description: A DomainMap is the overall Mapping.spec.Labels type.
  3651                  It maps domains (kind of like namespaces for Mapping labels) to
  3652                  arrays of label groups.
  3653                type: object
  3654              load_balancer:
  3655                properties:
  3656                  cookie:
  3657                    properties:
  3658                      name:
  3659                        type: string
  3660                      path:
  3661                        type: string
  3662                      ttl:
  3663                        type: string
  3664                    required:
  3665                    - name
  3666                    type: object
  3667                  header:
  3668                    type: string
  3669                  policy:
  3670                    enum:
  3671                    - round_robin
  3672                    - ring_hash
  3673                    - maglev
  3674                    - least_request
  3675                    type: string
  3676                  source_ip:
  3677                    type: boolean
  3678                required:
  3679                - policy
  3680                type: object
  3681              method:
  3682                type: string
  3683              method_regex:
  3684                type: boolean
  3685              modules:
  3686                items:
  3687                  description: UntypedDict is relatively opaque as a Go type, but
  3688                    it preserves its contents in a roundtrippable way.
  3689                  type: object
  3690                  x-kubernetes-preserve-unknown-fields: true
  3691                type: array
  3692              outlier_detection:
  3693                type: string
  3694              path_redirect:
  3695                description: Path replacement to use when generating an HTTP redirect.
  3696                  Used with `host_redirect`.
  3697                type: string
  3698              precedence:
  3699                type: integer
  3700              prefix:
  3701                type: string
  3702              prefix_exact:
  3703                type: boolean
  3704              prefix_redirect:
  3705                description: Prefix rewrite to use when generating an HTTP redirect.
  3706                  Used with `host_redirect`.
  3707                type: string
  3708              prefix_regex:
  3709                type: boolean
  3710              priority:
  3711                type: string
  3712              query_parameters:
  3713                additionalProperties:
  3714                  type: string
  3715                type: object
  3716              redirect_response_code:
  3717                description: The response code to use when generating an HTTP redirect.
  3718                  Defaults to 301. Used with `host_redirect`.
  3719                enum:
  3720                - 301
  3721                - 302
  3722                - 303
  3723                - 307
  3724                - 308
  3725                type: integer
  3726              regex_headers:
  3727                additionalProperties:
  3728                  type: string
  3729                type: object
  3730              regex_query_parameters:
  3731                additionalProperties:
  3732                  type: string
  3733                type: object
  3734              regex_redirect:
  3735                description: Prefix regex rewrite to use when generating an HTTP redirect.
  3736                  Used with `host_redirect`.
  3737                properties:
  3738                  pattern:
  3739                    type: string
  3740                  substitution:
  3741                    type: string
  3742                type: object
  3743              regex_rewrite:
  3744                properties:
  3745                  pattern:
  3746                    type: string
  3747                  substitution:
  3748                    type: string
  3749                type: object
  3750              remove_request_headers:
  3751                items:
  3752                  type: string
  3753                type: array
  3754              remove_response_headers:
  3755                items:
  3756                  type: string
  3757                type: array
  3758              resolver:
  3759                type: string
  3760              respect_dns_ttl:
  3761                type: boolean
  3762              retry_policy:
  3763                properties:
  3764                  num_retries:
  3765                    type: integer
  3766                  per_try_timeout:
  3767                    type: string
  3768                  retry_on:
  3769                    enum:
  3770                    - 5xx
  3771                    - gateway-error
  3772                    - connect-failure
  3773                    - retriable-4xx
  3774                    - refused-stream
  3775                    - retriable-status-codes
  3776                    type: string
  3777                type: object
  3778              rewrite:
  3779                type: string
  3780              service:
  3781                type: string
  3782              shadow:
  3783                type: boolean
  3784              stats_name:
  3785                type: string
  3786              timeout_ms:
  3787                description: The timeout for requests that use this Mapping. Overrides
  3788                  `cluster_request_timeout_ms` set on the Ambassador Module, if it
  3789                  exists.
  3790                type: integer
  3791              tls:
  3792                type: string
  3793              use_websocket:
  3794                description: "use_websocket is deprecated, and is equivlaent to setting
  3795                  `allow_upgrade: [\"websocket\"]` \n TODO(lukeshu): In v3alpha2,
  3796                  get rid of MappingSpec.DeprecatedUseWebsocket."
  3797                type: boolean
  3798              v2BoolHeaders:
  3799                items:
  3800                  type: string
  3801                type: array
  3802              v2BoolQueryParameters:
  3803                items:
  3804                  type: string
  3805                type: array
  3806              v2ExplicitTLS:
  3807                description: V2ExplicitTLS controls some vanity/stylistic elements
  3808                  when converting from v3alpha1 to v2.  The values in an V2ExplicitTLS
  3809                  should not in any way affect the runtime operation of Emissary;
  3810                  except that it may affect internal names in the Envoy config, which
  3811                  may in turn affect stats names.  But it should not affect any end-user
  3812                  observable behavior.
  3813                properties:
  3814                  serviceScheme:
  3815                    description: "ServiceScheme specifies how to spell and capitalize
  3816                      the scheme-part of the service URL. \n Acceptable values are
  3817                      \"http://\" (case-insensitive), \"https://\" (case-insensitive),
  3818                      or \"\".  The value is used if it agrees with whether or not
  3819                      this resource enables TLS origination, or if something else
  3820                      in the resource overrides the scheme."
  3821                    pattern: ^([hH][tT][tT][pP][sS]?://)?$
  3822                    type: string
  3823                  tls:
  3824                    description: "TLS controls whether and how to represent the \"tls\"
  3825                      field when its value could be implied by the \"service\" field.
  3826                      \ In v2, there were a lot of different ways to spell an \"empty\"
  3827                      value, and this field specifies which way to spell it (and will
  3828                      therefore only be used if the value will indeed be empty). \n
  3829                      \ | Value        | Representation                        | Meaning
  3830                      of representation          |  |--------------+---------------------------------------+------------------------------------|
  3831                      \ | \"\"           | omit the field                        |
  3832                      defer to service (no TLSContext)   |  | \"null\"       | store
  3833                      an explicit \"null\" in the field | defer to service (no TLSContext)
  3834                      \  |  | \"string\"     | store an empty string in the field
  3835                      \   | defer to service (no TLSContext)   |  | \"bool:false\"
  3836                      | store a Boolean \"false\" in the field  | defer to service
  3837                      (no TLSContext)   |  | \"bool:true\"  | store a Boolean \"true\"
  3838                      in the field   | originate TLS (no TLSContext)      | \n If
  3839                      the meaning of the representation contradicts anything else
  3840                      (if a TLSContext is to be used, or in the case of \"bool:true\"
  3841                      if TLS is not to be originated), then this field is ignored."
  3842                    enum:
  3843                    - ""
  3844                    - "null"
  3845                    - bool:true
  3846                    - bool:false
  3847                    - string
  3848                    type: string
  3849                type: object
  3850              weight:
  3851                type: integer
  3852            required:
  3853            - prefix
  3854            - service
  3855            type: object
  3856          status:
  3857            description: MappingStatus defines the observed state of Mapping
  3858            properties:
  3859              reason:
  3860                type: string
  3861              state:
  3862                enum:
  3863                - ""
  3864                - Inactive
  3865                - Running
  3866                type: string
  3867            type: object
  3868        type: object
  3869    served: true
  3870    storage: false
  3871    subresources:
  3872      status: {}
  3873---
  3874apiVersion: apiextensions.k8s.io/v1
  3875kind: CustomResourceDefinition
  3876metadata:
  3877  annotations:
  3878    controller-gen.kubebuilder.io/version: v0.6.2
  3879  name: modules.getambassador.io
  3880spec:
  3881  conversion:
  3882    strategy: Webhook
  3883    webhook:
  3884      clientConfig:
  3885        service:
  3886          name: emissary-apiext
  3887          namespace: emissary-system
  3888      conversionReviewVersions:
  3889      - v1beta1
  3890  group: getambassador.io
  3891  names:
  3892    categories:
  3893    - ambassador-crds
  3894    kind: Module
  3895    listKind: ModuleList
  3896    plural: modules
  3897    singular: module
  3898  preserveUnknownFields: false
  3899  scope: Namespaced
  3900  versions:
  3901  - name: v1
  3902    schema:
  3903      openAPIV3Schema:
  3904        description: "A Module defines system-wide configuration.  The type of module
  3905          is controlled by the .metadata.name; valid names are \"ambassador\" or \"tls\".
  3906          \n https://www.getambassador.io/docs/edge-stack/latest/topics/running/ambassador/#the-ambassador-module
  3907          https://www.getambassador.io/docs/edge-stack/latest/topics/running/tls/#tls-module-deprecated"
  3908        properties:
  3909          apiVersion:
  3910            description: 'APIVersion defines the versioned schema of this representation
  3911              of an object. Servers should convert recognized schemas to the latest
  3912              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  3913            type: string
  3914          kind:
  3915            description: 'Kind is a string value representing the REST resource this
  3916              object represents. Servers may infer this from the endpoint the client
  3917              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  3918            type: string
  3919          metadata:
  3920            type: object
  3921          spec:
  3922            properties:
  3923              ambassador_id:
  3924                description: "AmbassadorID declares which Ambassador instances should
  3925                  pay attention to this resource.  May either be a string or a list
  3926                  of strings.  If no value is provided, the default is: \n \tambassador_id:
  3927                  \t- \"default\""
  3928                items:
  3929                  type: string
  3930                oneOf:
  3931                - type: string
  3932                - type: array
  3933              config:
  3934                description: UntypedDict is relatively opaque as a Go type, but it
  3935                  preserves its contents in a roundtrippable way.
  3936                type: object
  3937                x-kubernetes-preserve-unknown-fields: true
  3938            type: object
  3939        type: object
  3940    served: true
  3941    storage: false
  3942  - name: v2
  3943    schema:
  3944      openAPIV3Schema:
  3945        description: "A Module defines system-wide configuration.  The type of module
  3946          is controlled by the .metadata.name; valid names are \"ambassador\" or \"tls\".
  3947          \n https://www.getambassador.io/docs/edge-stack/latest/topics/running/ambassador/#the-ambassador-module
  3948          https://www.getambassador.io/docs/edge-stack/latest/topics/running/tls/#tls-module-deprecated"
  3949        properties:
  3950          apiVersion:
  3951            description: 'APIVersion defines the versioned schema of this representation
  3952              of an object. Servers should convert recognized schemas to the latest
  3953              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  3954            type: string
  3955          kind:
  3956            description: 'Kind is a string value representing the REST resource this
  3957              object represents. Servers may infer this from the endpoint the client
  3958              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  3959            type: string
  3960          metadata:
  3961            type: object
  3962          spec:
  3963            properties:
  3964              ambassador_id:
  3965                description: "AmbassadorID declares which Ambassador instances should
  3966                  pay attention to this resource.  May either be a string or a list
  3967                  of strings.  If no value is provided, the default is: \n \tambassador_id:
  3968                  \t- \"default\""
  3969                items:
  3970                  type: string
  3971                oneOf:
  3972                - type: string
  3973                - type: array
  3974              config:
  3975                description: UntypedDict is relatively opaque as a Go type, but it
  3976                  preserves its contents in a roundtrippable way.
  3977                type: object
  3978                x-kubernetes-preserve-unknown-fields: true
  3979            type: object
  3980        type: object
  3981    served: true
  3982    storage: true
  3983  - name: v3alpha1
  3984    schema:
  3985      openAPIV3Schema:
  3986        description: "A Module defines system-wide configuration.  The type of module
  3987          is controlled by the .metadata.name; valid names are \"ambassador\" or \"tls\".
  3988          \n https://www.getambassador.io/docs/edge-stack/latest/topics/running/ambassador/#the-ambassador-module
  3989          https://www.getambassador.io/docs/edge-stack/latest/topics/running/tls/#tls-module-deprecated"
  3990        properties:
  3991          apiVersion:
  3992            description: 'APIVersion defines the versioned schema of this representation
  3993              of an object. Servers should convert recognized schemas to the latest
  3994              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  3995            type: string
  3996          kind:
  3997            description: 'Kind is a string value representing the REST resource this
  3998              object represents. Servers may infer this from the endpoint the client
  3999              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  4000            type: string
  4001          metadata:
  4002            type: object
  4003          spec:
  4004            properties:
  4005              ambassador_id:
  4006                description: "AmbassadorID declares which Ambassador instances should
  4007                  pay attention to this resource. If no value is provided, the default
  4008                  is: \n \tambassador_id: \t- \"default\" \n TODO(lukeshu): In v3alpha2,
  4009                  consider renaming all of the `ambassador_id` (singular) fields to
  4010                  `ambassador_ids` (plural)."
  4011                items:
  4012                  type: string
  4013                type: array
  4014              config:
  4015                description: UntypedDict is relatively opaque as a Go type, but it
  4016                  preserves its contents in a roundtrippable way.
  4017                type: object
  4018                x-kubernetes-preserve-unknown-fields: true
  4019            required:
  4020            - config
  4021            type: object
  4022        type: object
  4023    served: true
  4024    storage: false
  4025---
  4026apiVersion: apiextensions.k8s.io/v1
  4027kind: CustomResourceDefinition
  4028metadata:
  4029  annotations:
  4030    controller-gen.kubebuilder.io/version: v0.6.2
  4031  name: ratelimitservices.getambassador.io
  4032spec:
  4033  conversion:
  4034    strategy: Webhook
  4035    webhook:
  4036      clientConfig:
  4037        service:
  4038          name: emissary-apiext
  4039          namespace: emissary-system
  4040      conversionReviewVersions:
  4041      - v1beta1
  4042  group: getambassador.io
  4043  names:
  4044    categories:
  4045    - ambassador-crds
  4046    kind: RateLimitService
  4047    listKind: RateLimitServiceList
  4048    plural: ratelimitservices
  4049    singular: ratelimitservice
  4050  preserveUnknownFields: false
  4051  scope: Namespaced
  4052  versions:
  4053  - name: v1
  4054    schema:
  4055      openAPIV3Schema:
  4056        description: RateLimitService is the Schema for the ratelimitservices API
  4057        properties:
  4058          apiVersion:
  4059            description: 'APIVersion defines the versioned schema of this representation
  4060              of an object. Servers should convert recognized schemas to the latest
  4061              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  4062            type: string
  4063          kind:
  4064            description: 'Kind is a string value representing the REST resource this
  4065              object represents. Servers may infer this from the endpoint the client
  4066              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  4067            type: string
  4068          metadata:
  4069            type: object
  4070          spec:
  4071            description: RateLimitServiceSpec defines the desired state of RateLimitService
  4072            properties:
  4073              ambassador_id:
  4074                description: Common to all Ambassador objects.
  4075                items:
  4076                  type: string
  4077                oneOf:
  4078                - type: string
  4079                - type: array
  4080              domain:
  4081                type: string
  4082              protocol_version:
  4083                enum:
  4084                - v2
  4085                - v3
  4086                type: string
  4087              service:
  4088                type: string
  4089              timeout_ms:
  4090                type: integer
  4091              tls:
  4092                description: BoolOrString is a type that can hold a Boolean or a string.
  4093                oneOf:
  4094                - type: string
  4095                - type: boolean
  4096              v3StatsName:
  4097                type: string
  4098            required:
  4099            - service
  4100            type: object
  4101        type: object
  4102    served: true
  4103    storage: false
  4104  - name: v2
  4105    schema:
  4106      openAPIV3Schema:
  4107        description: RateLimitService is the Schema for the ratelimitservices API
  4108        properties:
  4109          apiVersion:
  4110            description: 'APIVersion defines the versioned schema of this representation
  4111              of an object. Servers should convert recognized schemas to the latest
  4112              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  4113            type: string
  4114          kind:
  4115            description: 'Kind is a string value representing the REST resource this
  4116              object represents. Servers may infer this from the endpoint the client
  4117              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  4118            type: string
  4119          metadata:
  4120            type: object
  4121          spec:
  4122            description: RateLimitServiceSpec defines the desired state of RateLimitService
  4123            properties:
  4124              ambassador_id:
  4125                description: Common to all Ambassador objects.
  4126                items:
  4127                  type: string
  4128                oneOf:
  4129                - type: string
  4130                - type: array
  4131              domain:
  4132                type: string
  4133              protocol_version:
  4134                enum:
  4135                - v2
  4136                - v3
  4137                type: string
  4138              service:
  4139                type: string
  4140              timeout_ms:
  4141                type: integer
  4142              tls:
  4143                description: BoolOrString is a type that can hold a Boolean or a string.
  4144                oneOf:
  4145                - type: string
  4146                - type: boolean
  4147              v3StatsName:
  4148                type: string
  4149            required:
  4150            - service
  4151            type: object
  4152        type: object
  4153    served: true
  4154    storage: true
  4155  - name: v3alpha1
  4156    schema:
  4157      openAPIV3Schema:
  4158        description: RateLimitService is the Schema for the ratelimitservices API
  4159        properties:
  4160          apiVersion:
  4161            description: 'APIVersion defines the versioned schema of this representation
  4162              of an object. Servers should convert recognized schemas to the latest
  4163              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  4164            type: string
  4165          kind:
  4166            description: 'Kind is a string value representing the REST resource this
  4167              object represents. Servers may infer this from the endpoint the client
  4168              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  4169            type: string
  4170          metadata:
  4171            type: object
  4172          spec:
  4173            description: RateLimitServiceSpec defines the desired state of RateLimitService
  4174            properties:
  4175              ambassador_id:
  4176                description: Common to all Ambassador objects.
  4177                items:
  4178                  type: string
  4179                type: array
  4180              domain:
  4181                type: string
  4182              protocol_version:
  4183                enum:
  4184                - v2
  4185                - v3
  4186                type: string
  4187              service:
  4188                type: string
  4189              stats_name:
  4190                type: string
  4191              timeout_ms:
  4192                description: 'TODO(lukeshu): In v3alpha2, change all of the `{foo}_ms`/`MillisecondDuration`
  4193                  fields to `{foo}`/`metav1.Duration`.'
  4194                type: integer
  4195              tls:
  4196                type: string
  4197              v2ExplicitTLS:
  4198                description: V2ExplicitTLS controls some vanity/stylistic elements
  4199                  when converting from v3alpha1 to v2.  The values in an V2ExplicitTLS
  4200                  should not in any way affect the runtime operation of Emissary;
  4201                  except that it may affect internal names in the Envoy config, which
  4202                  may in turn affect stats names.  But it should not affect any end-user
  4203                  observable behavior.
  4204                properties:
  4205                  serviceScheme:
  4206                    description: "ServiceScheme specifies how to spell and capitalize
  4207                      the scheme-part of the service URL. \n Acceptable values are
  4208                      \"http://\" (case-insensitive), \"https://\" (case-insensitive),
  4209                      or \"\".  The value is used if it agrees with whether or not
  4210                      this resource enables TLS origination, or if something else
  4211                      in the resource overrides the scheme."
  4212                    pattern: ^([hH][tT][tT][pP][sS]?://)?$
  4213                    type: string
  4214                  tls:
  4215                    description: "TLS controls whether and how to represent the \"tls\"
  4216                      field when its value could be implied by the \"service\" field.
  4217                      \ In v2, there were a lot of different ways to spell an \"empty\"
  4218                      value, and this field specifies which way to spell it (and will
  4219                      therefore only be used if the value will indeed be empty). \n
  4220                      \ | Value        | Representation                        | Meaning
  4221                      of representation          |  |--------------+---------------------------------------+------------------------------------|
  4222                      \ | \"\"           | omit the field                        |
  4223                      defer to service (no TLSContext)   |  | \"null\"       | store
  4224                      an explicit \"null\" in the field | defer to service (no TLSContext)
  4225                      \  |  | \"string\"     | store an empty string in the field
  4226                      \   | defer to service (no TLSContext)   |  | \"bool:false\"
  4227                      | store a Boolean \"false\" in the field  | defer to service
  4228                      (no TLSContext)   |  | \"bool:true\"  | store a Boolean \"true\"
  4229                      in the field   | originate TLS (no TLSContext)      | \n If
  4230                      the meaning of the representation contradicts anything else
  4231                      (if a TLSContext is to be used, or in the case of \"bool:true\"
  4232                      if TLS is not to be originated), then this field is ignored."
  4233                    enum:
  4234                    - ""
  4235                    - "null"
  4236                    - bool:true
  4237                    - bool:false
  4238                    - string
  4239                    type: string
  4240                type: object
  4241            required:
  4242            - service
  4243            type: object
  4244        type: object
  4245    served: true
  4246    storage: false
  4247---
  4248apiVersion: apiextensions.k8s.io/v1
  4249kind: CustomResourceDefinition
  4250metadata:
  4251  annotations:
  4252    controller-gen.kubebuilder.io/version: v0.6.2
  4253  name: tcpmappings.getambassador.io
  4254spec:
  4255  conversion:
  4256    strategy: Webhook
  4257    webhook:
  4258      clientConfig:
  4259        service:
  4260          name: emissary-apiext
  4261          namespace: emissary-system
  4262      conversionReviewVersions:
  4263      - v1beta1
  4264  group: getambassador.io
  4265  names:
  4266    categories:
  4267    - ambassador-crds
  4268    kind: TCPMapping
  4269    listKind: TCPMappingList
  4270    plural: tcpmappings
  4271    singular: tcpmapping
  4272  preserveUnknownFields: false
  4273  scope: Namespaced
  4274  versions:
  4275  - name: v1
  4276    schema:
  4277      openAPIV3Schema:
  4278        description: TCPMapping is the Schema for the tcpmappings API
  4279        properties:
  4280          apiVersion:
  4281            description: 'APIVersion defines the versioned schema of this representation
  4282              of an object. Servers should convert recognized schemas to the latest
  4283              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  4284            type: string
  4285          kind:
  4286            description: 'Kind is a string value representing the REST resource this
  4287              object represents. Servers may infer this from the endpoint the client
  4288              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  4289            type: string
  4290          metadata:
  4291            type: object
  4292          spec:
  4293            description: TCPMappingSpec defines the desired state of TCPMapping
  4294            properties:
  4295              address:
  4296                type: string
  4297              ambassador_id:
  4298                description: "AmbassadorID declares which Ambassador instances should
  4299                  pay attention to this resource.  May either be a string or a list
  4300                  of strings.  If no value is provided, the default is: \n \tambassador_id:
  4301                  \t- \"default\""
  4302                items:
  4303                  type: string
  4304                oneOf:
  4305                - type: string
  4306                - type: array
  4307              circuit_breakers:
  4308                items:
  4309                  properties:
  4310                    max_connections:
  4311                      type: integer
  4312                    max_pending_requests:
  4313                      type: integer
  4314                    max_requests:
  4315                      type: integer
  4316                    max_retries:
  4317                      type: integer
  4318                    priority:
  4319                      enum:
  4320                      - default
  4321                      - high
  4322                      type: string
  4323                  type: object
  4324                type: array
  4325              cluster_tag:
  4326                type: string
  4327              enable_ipv4:
  4328                type: boolean
  4329              enable_ipv6:
  4330                type: boolean
  4331              host:
  4332                type: string
  4333              idle_timeout_ms:
  4334                description: 'FIXME(lukeshu): Surely this should be an ''int''?'
  4335                type: string
  4336              port:
  4337                description: Port isn't a pointer because it's required.
  4338                type: integer
  4339              resolver:
  4340                type: string
  4341              service:
  4342                type: string
  4343              tls:
  4344                description: BoolOrString is a type that can hold a Boolean or a string.
  4345                oneOf:
  4346                - type: string
  4347                - type: boolean
  4348              v3StatsName:
  4349                type: string
  4350              weight:
  4351                type: integer
  4352            required:
  4353            - port
  4354            - service
  4355            type: object
  4356        type: object
  4357    served: true
  4358    storage: false
  4359  - name: v2
  4360    schema:
  4361      openAPIV3Schema:
  4362        description: TCPMapping is the Schema for the tcpmappings API
  4363        properties:
  4364          apiVersion:
  4365            description: 'APIVersion defines the versioned schema of this representation
  4366              of an object. Servers should convert recognized schemas to the latest
  4367              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  4368            type: string
  4369          kind:
  4370            description: 'Kind is a string value representing the REST resource this
  4371              object represents. Servers may infer this from the endpoint the client
  4372              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  4373            type: string
  4374          metadata:
  4375            type: object
  4376          spec:
  4377            description: TCPMappingSpec defines the desired state of TCPMapping
  4378            properties:
  4379              address:
  4380                type: string
  4381              ambassador_id:
  4382                description: "AmbassadorID declares which Ambassador instances should
  4383                  pay attention to this resource.  May either be a string or a list
  4384                  of strings.  If no value is provided, the default is: \n \tambassador_id:
  4385                  \t- \"default\""
  4386                items:
  4387                  type: string
  4388                oneOf:
  4389                - type: string
  4390                - type: array
  4391              circuit_breakers:
  4392                items:
  4393                  properties:
  4394                    max_connections:
  4395                      type: integer
  4396                    max_pending_requests:
  4397                      type: integer
  4398                    max_requests:
  4399                      type: integer
  4400                    max_retries:
  4401                      type: integer
  4402                    priority:
  4403                      enum:
  4404                      - default
  4405                      - high
  4406                      type: string
  4407                  type: object
  4408                type: array
  4409              cluster_tag:
  4410                type: string
  4411              enable_ipv4:
  4412                type: boolean
  4413              enable_ipv6:
  4414                type: boolean
  4415              host:
  4416                type: string
  4417              idle_timeout_ms:
  4418                description: 'FIXME(lukeshu): Surely this should be an ''int''?'
  4419                type: string
  4420              port:
  4421                description: Port isn't a pointer because it's required.
  4422                type: integer
  4423              resolver:
  4424                type: string
  4425              service:
  4426                type: string
  4427              tls:
  4428                description: BoolOrString is a type that can hold a Boolean or a string.
  4429                oneOf:
  4430                - type: string
  4431                - type: boolean
  4432              v3StatsName:
  4433                type: string
  4434              weight:
  4435                type: integer
  4436            required:
  4437            - port
  4438            - service
  4439            type: object
  4440        type: object
  4441    served: true
  4442    storage: true
  4443  - name: v3alpha1
  4444    schema:
  4445      openAPIV3Schema:
  4446        description: TCPMapping is the Schema for the tcpmappings API
  4447        properties:
  4448          apiVersion:
  4449            description: 'APIVersion defines the versioned schema of this representation
  4450              of an object. Servers should convert recognized schemas to the latest
  4451              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  4452            type: string
  4453          kind:
  4454            description: 'Kind is a string value representing the REST resource this
  4455              object represents. Servers may infer this from the endpoint the client
  4456              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  4457            type: string
  4458          metadata:
  4459            type: object
  4460          spec:
  4461            description: TCPMappingSpec defines the desired state of TCPMapping
  4462            properties:
  4463              address:
  4464                type: string
  4465              ambassador_id:
  4466                description: "AmbassadorID declares which Ambassador instances should
  4467                  pay attention to this resource. If no value is provided, the default
  4468                  is: \n \tambassador_id: \t- \"default\" \n TODO(lukeshu): In v3alpha2,
  4469                  consider renaming all of the `ambassador_id` (singular) fields to
  4470                  `ambassador_ids` (plural)."
  4471                items:
  4472                  type: string
  4473                type: array
  4474              circuit_breakers:
  4475                items:
  4476                  properties:
  4477                    max_connections:
  4478                      type: integer
  4479                    max_pending_requests:
  4480                      type: integer
  4481                    max_requests:
  4482                      type: integer
  4483                    max_retries:
  4484                      type: integer
  4485                    priority:
  4486                      enum:
  4487                      - default
  4488                      - high
  4489                      type: string
  4490                  type: object
  4491                type: array
  4492              cluster_tag:
  4493                type: string
  4494              enable_ipv4:
  4495                type: boolean
  4496              enable_ipv6:
  4497                type: boolean
  4498              host:
  4499                type: string
  4500              idle_timeout_ms:
  4501                description: 'FIXME(lukeshu): Surely this should be an ''int''?'
  4502                type: string
  4503              port:
  4504                description: Port isn't a pointer because it's required.
  4505                type: integer
  4506              resolver:
  4507                type: string
  4508              service:
  4509                type: string
  4510              stats_name:
  4511                type: string
  4512              tls:
  4513                type: string
  4514              v2ExplicitTLS:
  4515                description: V2ExplicitTLS controls some vanity/stylistic elements
  4516                  when converting from v3alpha1 to v2.  The values in an V2ExplicitTLS
  4517                  should not in any way affect the runtime operation of Emissary;
  4518                  except that it may affect internal names in the Envoy config, which
  4519                  may in turn affect stats names.  But it should not affect any end-user
  4520                  observable behavior.
  4521                properties:
  4522                  serviceScheme:
  4523                    description: "ServiceScheme specifies how to spell and capitalize
  4524                      the scheme-part of the service URL. \n Acceptable values are
  4525                      \"http://\" (case-insensitive), \"https://\" (case-insensitive),
  4526                      or \"\".  The value is used if it agrees with whether or not
  4527                      this resource enables TLS origination, or if something else
  4528                      in the resource overrides the scheme."
  4529                    pattern: ^([hH][tT][tT][pP][sS]?://)?$
  4530                    type: string
  4531                  tls:
  4532                    description: "TLS controls whether and how to represent the \"tls\"
  4533                      field when its value could be implied by the \"service\" field.
  4534                      \ In v2, there were a lot of different ways to spell an \"empty\"
  4535                      value, and this field specifies which way to spell it (and will
  4536                      therefore only be used if the value will indeed be empty). \n
  4537                      \ | Value        | Representation                        | Meaning
  4538                      of representation          |  |--------------+---------------------------------------+------------------------------------|
  4539                      \ | \"\"           | omit the field                        |
  4540                      defer to service (no TLSContext)   |  | \"null\"       | store
  4541                      an explicit \"null\" in the field | defer to service (no TLSContext)
  4542                      \  |  | \"string\"     | store an empty string in the field
  4543                      \   | defer to service (no TLSContext)   |  | \"bool:false\"
  4544                      | store a Boolean \"false\" in the field  | defer to service
  4545                      (no TLSContext)   |  | \"bool:true\"  | store a Boolean \"true\"
  4546                      in the field   | originate TLS (no TLSContext)      | \n If
  4547                      the meaning of the representation contradicts anything else
  4548                      (if a TLSContext is to be used, or in the case of \"bool:true\"
  4549                      if TLS is not to be originated), then this field is ignored."
  4550                    enum:
  4551                    - ""
  4552                    - "null"
  4553                    - bool:true
  4554                    - bool:false
  4555                    - string
  4556                    type: string
  4557                type: object
  4558              weight:
  4559                type: integer
  4560            required:
  4561            - port
  4562            - service
  4563            type: object
  4564        type: object
  4565    served: true
  4566    storage: false
  4567---
  4568apiVersion: apiextensions.k8s.io/v1
  4569kind: CustomResourceDefinition
  4570metadata:
  4571  annotations:
  4572    controller-gen.kubebuilder.io/version: v0.6.2
  4573  name: tlscontexts.getambassador.io
  4574spec:
  4575  conversion:
  4576    strategy: Webhook
  4577    webhook:
  4578      clientConfig:
  4579        service:
  4580          name: emissary-apiext
  4581          namespace: emissary-system
  4582      conversionReviewVersions:
  4583      - v1beta1
  4584  group: getambassador.io
  4585  names:
  4586    categories:
  4587    - ambassador-crds
  4588    kind: TLSContext
  4589    listKind: TLSContextList
  4590    plural: tlscontexts
  4591    singular: tlscontext
  4592  preserveUnknownFields: false
  4593  scope: Namespaced
  4594  versions:
  4595  - name: v1
  4596    schema:
  4597      openAPIV3Schema:
  4598        description: TLSContext is the Schema for the tlscontexts API
  4599        properties:
  4600          apiVersion:
  4601            description: 'APIVersion defines the versioned schema of this representation
  4602              of an object. Servers should convert recognized schemas to the latest
  4603              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  4604            type: string
  4605          kind:
  4606            description: 'Kind is a string value representing the REST resource this
  4607              object represents. Servers may infer this from the endpoint the client
  4608              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  4609            type: string
  4610          metadata:
  4611            type: object
  4612          spec:
  4613            description: TLSContextSpec defines the desired state of TLSContext
  4614            properties:
  4615              alpn_protocols:
  4616                type: string
  4617              ambassador_id:
  4618                description: "AmbassadorID declares which Ambassador instances should
  4619                  pay attention to this resource.  May either be a string or a list
  4620                  of strings.  If no value is provided, the default is: \n \tambassador_id:
  4621                  \t- \"default\""
  4622                items:
  4623                  type: string
  4624                oneOf:
  4625                - type: string
  4626                - type: array
  4627              ca_secret:
  4628                type: string
  4629              cacert_chain_file:
  4630                type: string
  4631              cert_chain_file:
  4632                type: string
  4633              cert_required:
  4634                type: boolean
  4635              cipher_suites:
  4636                items:
  4637                  type: string
  4638                type: array
  4639              ecdh_curves:
  4640                items:
  4641                  type: string
  4642                type: array
  4643              hosts:
  4644                items:
  4645                  type: string
  4646                type: array
  4647              max_tls_version:
  4648                enum:
  4649                - v1.0
  4650                - v1.1
  4651                - v1.2
  4652                - v1.3
  4653                type: string
  4654              min_tls_version:
  4655                enum:
  4656                - v1.0
  4657                - v1.1
  4658                - v1.2
  4659                - v1.3
  4660                type: string
  4661              private_key_file:
  4662                type: string
  4663              redirect_cleartext_from:
  4664                type: integer
  4665              secret:
  4666                type: string
  4667              secret_namespacing:
  4668                type: boolean
  4669              sni:
  4670                type: string
  4671              v3CRLSecret:
  4672                type: string
  4673            type: object
  4674        type: object
  4675    served: true
  4676    storage: false
  4677  - name: v2
  4678    schema:
  4679      openAPIV3Schema:
  4680        description: TLSContext is the Schema for the tlscontexts API
  4681        properties:
  4682          apiVersion:
  4683            description: 'APIVersion defines the versioned schema of this representation
  4684              of an object. Servers should convert recognized schemas to the latest
  4685              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  4686            type: string
  4687          kind:
  4688            description: 'Kind is a string value representing the REST resource this
  4689              object represents. Servers may infer this from the endpoint the client
  4690              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  4691            type: string
  4692          metadata:
  4693            type: object
  4694          spec:
  4695            description: TLSContextSpec defines the desired state of TLSContext
  4696            properties:
  4697              alpn_protocols:
  4698                type: string
  4699              ambassador_id:
  4700                description: "AmbassadorID declares which Ambassador instances should
  4701                  pay attention to this resource.  May either be a string or a list
  4702                  of strings.  If no value is provided, the default is: \n \tambassador_id:
  4703                  \t- \"default\""
  4704                items:
  4705                  type: string
  4706                oneOf:
  4707                - type: string
  4708                - type: array
  4709              ca_secret:
  4710                type: string
  4711              cacert_chain_file:
  4712                type: string
  4713              cert_chain_file:
  4714                type: string
  4715              cert_required:
  4716                type: boolean
  4717              cipher_suites:
  4718                items:
  4719                  type: string
  4720                type: array
  4721              ecdh_curves:
  4722                items:
  4723                  type: string
  4724                type: array
  4725              hosts:
  4726                items:
  4727                  type: string
  4728                type: array
  4729              max_tls_version:
  4730                enum:
  4731                - v1.0
  4732                - v1.1
  4733                - v1.2
  4734                - v1.3
  4735                type: string
  4736              min_tls_version:
  4737                enum:
  4738                - v1.0
  4739                - v1.1
  4740                - v1.2
  4741                - v1.3
  4742                type: string
  4743              private_key_file:
  4744                type: string
  4745              redirect_cleartext_from:
  4746                type: integer
  4747              secret:
  4748                type: string
  4749              secret_namespacing:
  4750                type: boolean
  4751              sni:
  4752                type: string
  4753              v3CRLSecret:
  4754                type: string
  4755            type: object
  4756        type: object
  4757    served: true
  4758    storage: true
  4759  - name: v3alpha1
  4760    schema:
  4761      openAPIV3Schema:
  4762        description: TLSContext is the Schema for the tlscontexts API
  4763        properties:
  4764          apiVersion:
  4765            description: 'APIVersion defines the versioned schema of this representation
  4766              of an object. Servers should convert recognized schemas to the latest
  4767              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  4768            type: string
  4769          kind:
  4770            description: 'Kind is a string value representing the REST resource this
  4771              object represents. Servers may infer this from the endpoint the client
  4772              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  4773            type: string
  4774          metadata:
  4775            type: object
  4776          spec:
  4777            description: TLSContextSpec defines the desired state of TLSContext
  4778            properties:
  4779              alpn_protocols:
  4780                type: string
  4781              ambassador_id:
  4782                description: "AmbassadorID declares which Ambassador instances should
  4783                  pay attention to this resource. If no value is provided, the default
  4784                  is: \n \tambassador_id: \t- \"default\" \n TODO(lukeshu): In v3alpha2,
  4785                  consider renaming all of the `ambassador_id` (singular) fields to
  4786                  `ambassador_ids` (plural)."
  4787                items:
  4788                  type: string
  4789                type: array
  4790              ca_secret:
  4791                type: string
  4792              cacert_chain_file:
  4793                type: string
  4794              cert_chain_file:
  4795                type: string
  4796              cert_required:
  4797                type: boolean
  4798              cipher_suites:
  4799                items:
  4800                  type: string
  4801                type: array
  4802              crl_secret:
  4803                type: string
  4804              ecdh_curves:
  4805                items:
  4806                  type: string
  4807                type: array
  4808              hosts:
  4809                items:
  4810                  type: string
  4811                type: array
  4812              max_tls_version:
  4813                enum:
  4814                - v1.0
  4815                - v1.1
  4816                - v1.2
  4817                - v1.3
  4818                type: string
  4819              min_tls_version:
  4820                enum:
  4821                - v1.0
  4822                - v1.1
  4823                - v1.2
  4824                - v1.3
  4825                type: string
  4826              private_key_file:
  4827                type: string
  4828              redirect_cleartext_from:
  4829                type: integer
  4830              secret:
  4831                type: string
  4832              secret_namespacing:
  4833                type: boolean
  4834              sni:
  4835                type: string
  4836            type: object
  4837        type: object
  4838    served: true
  4839    storage: false
  4840---
  4841apiVersion: apiextensions.k8s.io/v1
  4842kind: CustomResourceDefinition
  4843metadata:
  4844  annotations:
  4845    controller-gen.kubebuilder.io/version: v0.6.2
  4846  name: tracingservices.getambassador.io
  4847spec:
  4848  conversion:
  4849    strategy: Webhook
  4850    webhook:
  4851      clientConfig:
  4852        service:
  4853          name: emissary-apiext
  4854          namespace: emissary-system
  4855      conversionReviewVersions:
  4856      - v1beta1
  4857  group: getambassador.io
  4858  names:
  4859    categories:
  4860    - ambassador-crds
  4861    kind: TracingService
  4862    listKind: TracingServiceList
  4863    plural: tracingservices
  4864    singular: tracingservice
  4865  preserveUnknownFields: false
  4866  scope: Namespaced
  4867  versions:
  4868  - name: v1
  4869    schema:
  4870      openAPIV3Schema:
  4871        description: TracingService is the Schema for the tracingservices API
  4872        properties:
  4873          apiVersion:
  4874            description: 'APIVersion defines the versioned schema of this representation
  4875              of an object. Servers should convert recognized schemas to the latest
  4876              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  4877            type: string
  4878          kind:
  4879            description: 'Kind is a string value representing the REST resource this
  4880              object represents. Servers may infer this from the endpoint the client
  4881              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  4882            type: string
  4883          metadata:
  4884            type: object
  4885          spec:
  4886            description: TracingServiceSpec defines the desired state of TracingService
  4887            properties:
  4888              ambassador_id:
  4889                description: "AmbassadorID declares which Ambassador instances should
  4890                  pay attention to this resource.  May either be a string or a list
  4891                  of strings.  If no value is provided, the default is: \n \tambassador_id:
  4892                  \t- \"default\""
  4893                items:
  4894                  type: string
  4895                oneOf:
  4896                - type: string
  4897                - type: array
  4898              config:
  4899                properties:
  4900                  access_token_file:
  4901                    type: string
  4902                  collector_cluster:
  4903                    type: string
  4904                  collector_endpoint:
  4905                    type: string
  4906                  collector_endpoint_version:
  4907                    enum:
  4908                    - HTTP_JSON_V1
  4909                    - HTTP_JSON
  4910                    - HTTP_PROTO
  4911                    type: string
  4912                  collector_hostname:
  4913                    type: string
  4914                  service_name:
  4915                    type: string
  4916                  shared_span_context:
  4917                    type: boolean
  4918                  trace_id_128bit:
  4919                    type: boolean
  4920                  v3PropagationModes:
  4921                    items:
  4922                      enum:
  4923                      - ENVOY
  4924                      - LIGHTSTEP
  4925                      - B3
  4926                      - TRACE_CONTEXT
  4927                      type: string
  4928                    type: array
  4929                type: object
  4930              driver:
  4931                enum:
  4932                - lightstep
  4933                - zipkin
  4934                - datadog
  4935                type: string
  4936              sampling:
  4937                properties:
  4938                  client:
  4939                    type: integer
  4940                  overall:
  4941                    type: integer
  4942                  random:
  4943                    type: integer
  4944                type: object
  4945              service:
  4946                type: string
  4947              tag_headers:
  4948                items:
  4949                  type: string
  4950                type: array
  4951              v3StatsName:
  4952                type: string
  4953            required:
  4954            - driver
  4955            - service
  4956            type: object
  4957        type: object
  4958    served: true
  4959    storage: false
  4960  - name: v2
  4961    schema:
  4962      openAPIV3Schema:
  4963        description: TracingService is the Schema for the tracingservices API
  4964        properties:
  4965          apiVersion:
  4966            description: 'APIVersion defines the versioned schema of this representation
  4967              of an object. Servers should convert recognized schemas to the latest
  4968              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  4969            type: string
  4970          kind:
  4971            description: 'Kind is a string value representing the REST resource this
  4972              object represents. Servers may infer this from the endpoint the client
  4973              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  4974            type: string
  4975          metadata:
  4976            type: object
  4977          spec:
  4978            description: TracingServiceSpec defines the desired state of TracingService
  4979            properties:
  4980              ambassador_id:
  4981                description: "AmbassadorID declares which Ambassador instances should
  4982                  pay attention to this resource.  May either be a string or a list
  4983                  of strings.  If no value is provided, the default is: \n \tambassador_id:
  4984                  \t- \"default\""
  4985                items:
  4986                  type: string
  4987                oneOf:
  4988                - type: string
  4989                - type: array
  4990              config:
  4991                properties:
  4992                  access_token_file:
  4993                    type: string
  4994                  collector_cluster:
  4995                    type: string
  4996                  collector_endpoint:
  4997                    type: string
  4998                  collector_endpoint_version:
  4999                    enum:
  5000                    - HTTP_JSON_V1
  5001                    - HTTP_JSON
  5002                    - HTTP_PROTO
  5003                    type: string
  5004                  collector_hostname:
  5005                    type: string
  5006                  service_name:
  5007                    type: string
  5008                  shared_span_context:
  5009                    type: boolean
  5010                  trace_id_128bit:
  5011                    type: boolean
  5012                  v3PropagationModes:
  5013                    items:
  5014                      enum:
  5015                      - ENVOY
  5016                      - LIGHTSTEP
  5017                      - B3
  5018                      - TRACE_CONTEXT
  5019                      type: string
  5020                    type: array
  5021                type: object
  5022              driver:
  5023                enum:
  5024                - lightstep
  5025                - zipkin
  5026                - datadog
  5027                type: string
  5028              sampling:
  5029                properties:
  5030                  client:
  5031                    type: integer
  5032                  overall:
  5033                    type: integer
  5034                  random:
  5035                    type: integer
  5036                type: object
  5037              service:
  5038                type: string
  5039              tag_headers:
  5040                items:
  5041                  type: string
  5042                type: array
  5043              v3StatsName:
  5044                type: string
  5045            required:
  5046            - driver
  5047            - service
  5048            type: object
  5049        type: object
  5050    served: true
  5051    storage: true
  5052  - name: v3alpha1
  5053    schema:
  5054      openAPIV3Schema:
  5055        description: TracingService is the Schema for the tracingservices API
  5056        properties:
  5057          apiVersion:
  5058            description: 'APIVersion defines the versioned schema of this representation
  5059              of an object. Servers should convert recognized schemas to the latest
  5060              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  5061            type: string
  5062          kind:
  5063            description: 'Kind is a string value representing the REST resource this
  5064              object represents. Servers may infer this from the endpoint the client
  5065              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  5066            type: string
  5067          metadata:
  5068            type: object
  5069          spec:
  5070            description: TracingServiceSpec defines the desired state of TracingService
  5071            properties:
  5072              ambassador_id:
  5073                description: "AmbassadorID declares which Ambassador instances should
  5074                  pay attention to this resource. If no value is provided, the default
  5075                  is: \n \tambassador_id: \t- \"default\" \n TODO(lukeshu): In v3alpha2,
  5076                  consider renaming all of the `ambassador_id` (singular) fields to
  5077                  `ambassador_ids` (plural)."
  5078                items:
  5079                  type: string
  5080                type: array
  5081              config:
  5082                properties:
  5083                  access_token_file:
  5084                    type: string
  5085                  collector_cluster:
  5086                    type: string
  5087                  collector_endpoint:
  5088                    type: string
  5089                  collector_endpoint_version:
  5090                    enum:
  5091                    - HTTP_JSON_V1
  5092                    - HTTP_JSON
  5093                    - HTTP_PROTO
  5094                    type: string
  5095                  collector_hostname:
  5096                    type: string
  5097                  propagation_modes:
  5098                    items:
  5099                      enum:
  5100                      - ENVOY
  5101                      - LIGHTSTEP
  5102                      - B3
  5103                      - TRACE_CONTEXT
  5104                      type: string
  5105                    type: array
  5106                  service_name:
  5107                    type: string
  5108                  shared_span_context:
  5109                    type: boolean
  5110                  trace_id_128bit:
  5111                    type: boolean
  5112                type: object
  5113              driver:
  5114                enum:
  5115                - lightstep
  5116                - zipkin
  5117                - datadog
  5118                type: string
  5119              sampling:
  5120                properties:
  5121                  client:
  5122                    type: integer
  5123                  overall:
  5124                    type: integer
  5125                  random:
  5126                    type: integer
  5127                type: object
  5128              service:
  5129                type: string
  5130              stats_name:
  5131                type: string
  5132              tag_headers:
  5133                items:
  5134                  type: string
  5135                type: array
  5136            required:
  5137            - driver
  5138            - service
  5139            type: object
  5140        type: object
  5141    served: true
  5142    storage: false

View as plain text