static_resources:
  listeners:
    - name: local_http
      address:
        socket_address: {address: 127.0.0.1, port_value: 8082}
      filter_chains:
        - filters:
            - name: envoy.filters.network.http_connection_manager
              typed_config:
                '@type': type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
                stat_prefix: ingress_http
                use_remote_address: true
                xff_num_trusted_hops: 0
                stream_idle_timeout: 15s
                route_config:
                  name: local_route
                  virtual_hosts:
                    - name: api
                      domains: ['*']
                      routes:
                        - match: {prefix: /}
                          route: {cluster: api, timeout: 5s}
                http_filters:
                  - name: envoy.filters.http.local_ratelimit
                    typed_config:
                      '@type': type.googleapis.com/envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit
                      stat_prefix: local_rate_limit
                      token_bucket:
                        max_tokens: 10
                        tokens_per_fill: 5
                        fill_interval: 1s
                      filter_enabled:
                        default_value: {numerator: 100, denominator: HUNDRED}
                      filter_enforced:
                        default_value: {numerator: 100, denominator: HUNDRED}
                  - name: envoy.filters.http.router
                    typed_config:
                      '@type': type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
  clusters:
    - name: api
      connect_timeout: 1s
      type: STATIC
      load_assignment:
        cluster_name: api
        endpoints:
          - lb_endpoints:
              - endpoint:
                  address:
                    socket_address: {address: 127.0.0.1, port_value: 9000}
