...

Text file src/github.com/datawire/ambassador/v2/manifests/emissary/emissary-crds.yaml.in

Documentation: github.com/datawire/ambassador/v2/manifests/emissary

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

View as plain text