postgrpc 0.1.2

A JSON-transcoding-ready gRPC server for querying Postgres databases
Documentation
static_resources:
  listeners:
    - name: listener_0
      address:
        socket_address:
          address: 0.0.0.0
          port_value: 8080
      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
            codec_type: auto
            stat_prefix: ingress_http
            route_config:
              name: local_route
              virtual_hosts:
              - name: local_service
                domains: ["*"]
                routes:
                  - match:
                      prefix: "/"
                    route:
                      cluster: postgrpc
                      timeout: 0s
                      max_stream_duration:
                        grpc_timeout_header_max: 0s
                cors:
                  allow_origin_string_match:
                    - prefix: "*"
                  allow_methods: GET, PUT, DELETE, POST, OPTIONS
                  allow_headers: authorization,keep-alive,user-agent,cache-control,content-type,content-transfer-encoding,x-accept-content-transfer-encoding,x-accept-response-streaming,x-user-agent,grpc-timeout
                  max_age: "1728000"
                  expose_headers: grpc-status,grpc-message
            http_filters:
              - name: envoy.filters.http.cors
                typed_config:
                  "@type": type.googleapis.com/envoy.extensions.filters.http.cors.v3.Cors
              - name: envoy.filters.http.grpc_json_transcoder
                typed_config:
                  "@type": type.googleapis.com/envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder
                  proto_descriptor: "/proto/postgrpc.pb"
                  services: 
                    - "postgres.v1.Postgres"
                    - "transaction.v1.Transaction"
                  convert_grpc_status: true
                  auto_mapping: false
                  print_options:
                    add_whitespace: true
                    always_print_primitive_fields: true
                    always_print_enums_as_ints: false
                    preserve_proto_field_names: false
              - name: envoy.filters.http.router
                typed_config:
                  "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
  clusters:
    - name: postgrpc
      connect_timeout: 0.25s
      type: logical_dns
      dns_lookup_family: v4_only
      typed_extension_protocol_options:
        envoy.extensions.upstreams.http.v3.HttpProtocolOptions:
          "@type": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions
          explicit_http_config:
            http2_protocol_options: {}
      lb_policy: round_robin
      load_assignment:
        cluster_name: postgrpc
        endpoints:
        - lb_endpoints:
          - endpoint:
              address:
                socket_address:
                  address: postgrpc
                  port_value: 50051