From 02186350d88b362ad1a85680c39ff68848d16851 Mon Sep 17 00:00:00 2001 From: dongxuny Date: Sun, 6 Mar 2022 04:51:07 +0800 Subject: [PATCH] [v2] Refactoring based on rk-entry/v2 --- Makefile | 8 +- README.md | 868 ++++++++-------- boot/error/grpc_error_wrap.go | 2 +- boot/grpc_entry.go | 967 ++++++------------ boot/grpc_entry_test.go | 377 ++----- boot/gw_server_options.go | 7 +- boot/proxy_entry.go | 74 +- boot/proxy_entry_test.go | 22 +- docs/img/boot-arch.png | Bin 42415 -> 121887 bytes docs/img/simple-docs.png | Bin 0 -> 105533 bytes docs/img/simple-sw.png | Bin 149252 -> 139494 bytes docs/img/simple-tv.png | Bin 195917 -> 0 bytes example/boot/cors/boot.yaml | 6 +- example/boot/cors/cors.html | 4 +- example/boot/cors/main.go | 12 +- example/boot/csrf/boot.yaml | 2 +- example/boot/csrf/main.go | 14 +- example/boot/full/boot.yaml | 201 ++-- example/boot/full/config.yaml | 6 - example/boot/full/cred.yaml | 3 - example/boot/full/main.go | 12 +- example/boot/full/server-key.pem | 5 - example/boot/full/server.pem | 19 - example/boot/proxy/client/main.go | 2 +- example/boot/proxy/proxy/main.go | 12 +- example/boot/proxy/test/main.go | 14 +- example/boot/secure/boot.yaml | 4 +- example/boot/secure/main.go | 12 +- example/boot/simple/boot.yaml | 19 +- example/boot/simple/main.go | 29 +- example/{interceptor => middleware}/Makefile | 0 .../{interceptor => middleware}/buf.gen.yaml | 0 example/{interceptor => middleware}/buf.yaml | 0 .../proto/chat.proto | 0 .../proto/greeter.proto | 0 .../proto/testdata/chat.pb.go | 0 .../proto/testdata/chat_grpc.pb.go | 0 .../proto/testdata/greeter.pb.go | 0 .../proto/testdata/greeter_grpc.pb.go | 0 go.mod | 71 +- go.sum | 643 ++++++------ .../metrics/prom/server_interceptor.go | 84 -- .../auth/server_interceptor.go | 22 +- .../auth/server_interceptor_test.go | 8 +- {interceptor => middleware}/common.go | 10 +- {interceptor => middleware}/common_test.go | 2 +- .../context/context.go | 24 +- .../context/context_test.go | 74 +- .../context/wrappers.go | 0 .../context/wrappers_test.go | 0 .../cors/interceptor.go | 5 +- .../cors/interceptor_test.go | 4 +- .../csrf/interceptor.go | 4 +- .../csrf/interceptor_test.go | 8 +- .../jwt/server_interceptor.go | 22 +- .../jwt/server_interceptor_test.go | 8 +- .../log}/server_interceptor.go | 42 +- .../log}/server_interceptor_test.go | 12 +- .../meta/server_interceptor.go | 22 +- .../meta/server_interceptor_test.go | 8 +- .../panic/interceptor.go | 22 +- .../panic/interceptor_test.go | 2 +- middleware/prom/server_interceptor.go | 78 ++ .../prom/server_interceptor_test.go | 24 +- .../ratelimit/server_interceptor.go | 18 +- .../ratelimit/server_interceptor_test.go | 8 +- .../secure/interceptor.go | 3 +- .../secure/interceptor_test.go | 2 +- .../timeout/server_interceptor.go | 19 +- .../timeout/server_interceptor_test.go | 2 +- .../tracing}/server_interceptor.go | 44 +- .../tracing}/server_interceptor_test.go | 2 +- 72 files changed, 1713 insertions(+), 2285 deletions(-) create mode 100644 docs/img/simple-docs.png delete mode 100644 docs/img/simple-tv.png delete mode 100644 example/boot/full/config.yaml delete mode 100644 example/boot/full/cred.yaml delete mode 100644 example/boot/full/server-key.pem delete mode 100644 example/boot/full/server.pem rename example/{interceptor => middleware}/Makefile (100%) rename example/{interceptor => middleware}/buf.gen.yaml (100%) rename example/{interceptor => middleware}/buf.yaml (100%) rename example/{interceptor => middleware}/proto/chat.proto (100%) rename example/{interceptor => middleware}/proto/greeter.proto (100%) rename example/{interceptor => middleware}/proto/testdata/chat.pb.go (100%) rename example/{interceptor => middleware}/proto/testdata/chat_grpc.pb.go (100%) rename example/{interceptor => middleware}/proto/testdata/greeter.pb.go (100%) rename example/{interceptor => middleware}/proto/testdata/greeter_grpc.pb.go (100%) delete mode 100644 interceptor/metrics/prom/server_interceptor.go rename {interceptor => middleware}/auth/server_interceptor.go (72%) rename {interceptor => middleware}/auth/server_interceptor_test.go (91%) rename {interceptor => middleware}/common.go (95%) rename {interceptor => middleware}/common_test.go (99%) rename {interceptor => middleware}/context/context.go (91%) rename {interceptor => middleware}/context/context_test.go (73%) rename {interceptor => middleware}/context/wrappers.go (100%) rename {interceptor => middleware}/context/wrappers_test.go (100%) rename {interceptor => middleware}/cors/interceptor.go (88%) rename {interceptor => middleware}/cors/interceptor_test.go (93%) rename {interceptor => middleware}/csrf/interceptor.go (90%) rename {interceptor => middleware}/csrf/interceptor_test.go (87%) rename {interceptor => middleware}/jwt/server_interceptor.go (67%) rename {interceptor => middleware}/jwt/server_interceptor_test.go (91%) rename {interceptor/log/zap => middleware/log}/server_interceptor.go (61%) rename {interceptor/log/zap => middleware/log}/server_interceptor_test.go (86%) rename {interceptor => middleware}/meta/server_interceptor.go (63%) rename {interceptor => middleware}/meta/server_interceptor_test.go (89%) rename {interceptor => middleware}/panic/interceptor.go (67%) rename {interceptor => middleware}/panic/interceptor_test.go (97%) create mode 100644 middleware/prom/server_interceptor.go rename {interceptor/metrics => middleware}/prom/server_interceptor_test.go (74%) rename {interceptor => middleware}/ratelimit/server_interceptor.go (70%) rename {interceptor => middleware}/ratelimit/server_interceptor_test.go (90%) rename {interceptor => middleware}/secure/interceptor.go (91%) rename {interceptor => middleware}/secure/interceptor_test.go (94%) rename {interceptor => middleware}/timeout/server_interceptor.go (84%) rename {interceptor => middleware}/timeout/server_interceptor_test.go (98%) rename {interceptor/tracing/telemetry => middleware/tracing}/server_interceptor.go (70%) rename {interceptor/tracing/telemetry => middleware/tracing}/server_interceptor_test.go (98%) diff --git a/Makefile b/Makefile index 22ec3ac..0a4b60a 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ .PHONY: all -all: test lint doctoc fmt +all: test lint fmt .PHONY: lint lint: @@ -20,12 +20,6 @@ fmt: @gofmt -s -w . 2>&1 @echo "------------------------------------[Done]" -.PHONY: doctoc -doctoc: - @echo "[doctoc] Running doctoc..." - @doctoc . 2>&1 - @echo "------------------------------------[Done]" - .PHONY: buf buf: @echo "[buf] Running buf..." diff --git a/README.md b/README.md index 917af06..2f26403 100644 --- a/README.md +++ b/README.md @@ -4,71 +4,18 @@ [![Go Report Card](https://goreportcard.com/badge/github.com/rookie-ninja/rk-grpc)](https://goreportcard.com/report/github.com/rookie-ninja/rk-grpc) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) -Interceptor & bootstrapper designed for [gRPC](https://grpc.io/docs/languages/go/) and [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway). [Documentation](https://rkdev.info/docs/bootstrapper/user-guide/grpc-golang/). +Middlewares & bootstrapper designed for [gRPC](https://grpc.io/docs/languages/go/) and [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway). [Documentation](https://rkdev.info/docs/bootstrapper/user-guide/grpc-golang/). This belongs to [rk-boot](https://github.com/rookie-ninja/rk-boot) family. We suggest use this lib from [rk-boot](https://github.com/rookie-ninja/rk-boot). ![image](docs/img/boot-arch.png) - - -**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* - -- [Architecture](#architecture) -- [Supported bootstrap](#supported-bootstrap) -- [Supported instances](#supported-instances) -- [Supported middlewares](#supported-middlewares) -- [Installation](#installation) -- [Quick Start](#quick-start) - - [1.Prepare .proto files](#1prepare-proto-files) - - [2.Generate .pb.go files with buf](#2generate-pbgo-files-with-buf) - - [3.Create boot.yaml](#3create-bootyaml) - - [4.Create main.go](#4create-maingo) - - [5.Start server](#5start-server) - - [6.Validation](#6validation) - - [6.1 gRPC & grpc-gateway server](#61-grpc--grpc-gateway-server) - - [6.2 Swagger UI](#62-swagger-ui) - - [6.3 TV](#63-tv) - - [6.4 Prometheus Metrics](#64-prometheus-metrics) - - [6.5 Logging](#65-logging) - - [6.6 Meta](#66-meta) - - [6.7 Send request](#67-send-request) - - [6.8 RPC logs](#68-rpc-logs) - - [6.9 RPC prometheus metrics](#69-rpc-prometheus-metrics) -- [YAML options](#yaml-options) - - [gRPC Service](#grpc-service) - - [gRPC gateway options](#grpc-gateway-options) - - [Common Service](#common-service) - - [Prom Client](#prom-client) - - [TV Service](#tv-service) - - [Swagger Service](#swagger-service) - - [Static file handler Service](#static-file-handler-service) - - [Interceptors](#interceptors) - - [Log](#log) - - [Metrics](#metrics) - - [Auth](#auth) - - [Meta](#meta) - - [Tracing](#tracing) - - [RateLimit](#ratelimit) - - [Timeout](#timeout) - - [CORS](#cors) - - [JWT](#jwt) - - [Secure](#secure) - - [CSRF](#csrf) - - [Full YAML](#full-yaml) -- [Development Status: Stable](#development-status-stable) -- [Build instruction](#build-instruction) -- [Test instruction](#test-instruction) -- [Contributing](#contributing) - - - ## Architecture ![image](docs/img/grpc-arch.png) ## Supported bootstrap -| Bootstrap | Description | -| --- | --- | +| Bootstrap | Description | +|------------|--------------------------------------------------------------------------------------------------------------------------------------------| | YAML based | Start [gRPC](https://grpc.io/docs/languages/go/) and [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) microservice from YAML | | Code based | Start [gRPC](https://grpc.io/docs/languages/go/) and [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) microservice from code | @@ -77,45 +24,44 @@ All instances could be configured via YAML or Code. **User can enable anyone of those as needed! No mandatory binding!** -| Instance | Description | -| --- | --- | -| [gRPC](https://grpc.io/docs/languages/go/) | [gRPC](https://grpc.io/docs/languages/go/) defined with protocol buffer. | -| [gRPC](https://grpc.io/docs/languages/go/) proxy | Proxy gRPC request to another gRPC server. | -| [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) | [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) service with same port. | -| [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) options | Well defined [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) options. | -| Config | Configure [spf13/viper](https://github.com/spf13/viper) as config instance and reference it from YAML | -| Logger | Configure [uber-go/zap](https://github.com/uber-go/zap) logger configuration and reference it from YAML | -| EventLogger | Configure logging of RPC with [rk-query](https://github.com/rookie-ninja/rk-query) and reference it from YAML | -| Credential | Fetch credentials from remote datastore like ETCD. | -| Cert | Fetch TLS/SSL certificates from remote datastore like ETCD and start microservice. | -| Prometheus | Start prometheus client at client side and push metrics to [pushgateway](https://github.com/prometheus/pushgateway) as needed. | -| Swagger | Builtin swagger UI handler. | -| CommonService | List of common APIs. | -| TV | A Web UI shows microservice and environment information. | -| StaticFileHandler | A Web UI shows files could be downloaded from server, currently support source of local and pkger. | +| Instance | Description | +|------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------| +| [gRPC](https://grpc.io/docs/languages/go/) | [gRPC](https://grpc.io/docs/languages/go/) defined with protocol buffer. | +| [gRPC](https://grpc.io/docs/languages/go/) proxy | Proxy gRPC request to another gRPC server. | +| [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) | [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) service with same port. | +| [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) options | Well defined [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) options. | +| Config | Configure [spf13/viper](https://github.com/spf13/viper) as config instance and reference it from YAML | +| Logger | Configure [uber-go/zap](https://github.com/uber-go/zap) logger configuration and reference it from YAML | +| Event | Configure logging of RPC with [rk-query](https://github.com/rookie-ninja/rk-query) and reference it from YAML | +| Cert | Fetch TLS/SSL certificates from remote datastore like ETCD and start microservice. | +| Prometheus | Start prometheus client at client side and push metrics to [pushgateway](https://github.com/prometheus/pushgateway) as needed. | +| Swagger | Builtin swagger UI handler. | +| Docs | Builtin [RapiDoc](https://github.com/mrin9/RapiDoc) instance which can be used to replace swagger and RK TV. | +| CommonService | List of common APIs. | +| StaticFileHandler | A Web UI shows files could be downloaded from server, currently support source of local and pkger. | ## Supported middlewares All middlewares could be configured via YAML or Code. **User can enable anyone of those as needed! No mandatory binding!** -| Middleware | Description | -| --- | --- | -| Metrics | Collect RPC metrics and export to [prometheus](https://github.com/prometheus/client_golang) client. | -| Log | Log every RPC requests as event with [rk-query](https://github.com/rookie-ninja/rk-query). | -| Trace | Collect RPC trace and export it to stdout, file or jaeger with [open-telemetry/opentelemetry-go](https://github.com/open-telemetry/opentelemetry-go). | -| Panic | Recover from panic for RPC requests and log it. | -| Meta | Send micsroservice metadata as header to client. | -| Auth | Support [Basic Auth] and [API Key] authorization types. | -| RateLimit | Limiting RPC rate globally or per path. | -| Timeout | Timing out request by configuration. | -| CORS | Server side CORS validation. | -| JWT | Server side JWT validation. | -| Secure | Server side secure validation. | -| CSRF | Server side csrf validation. | +| Middleware | Description | +|------------|-------------------------------------------------------------------------------------------------------------------------------------------------------| +| Metrics | Collect RPC metrics and export to [prometheus](https://github.com/prometheus/client_golang) client. | +| Log | Log every RPC requests as event with [rk-query](https://github.com/rookie-ninja/rk-query). | +| Trace | Collect RPC trace and export it to stdout, file or jaeger with [open-telemetry/opentelemetry-go](https://github.com/open-telemetry/opentelemetry-go). | +| Panic | Recover from panic for RPC requests and log it. | +| Meta | Send micsroservice metadata as header to client. | +| Auth | Support [Basic Auth] and [API Key] authorization types. | +| RateLimit | Limiting RPC rate globally or per path. | +| Timeout | Timing out request by configuration. | +| CORS | Server side CORS validation. | +| JWT | Server side JWT validation. | +| Secure | Server side secure validation. | +| CSRF | Server side csrf validation. | ## Installation -`go get github.com/rookie-ninja/rk-grpc` +`go get github.com/rookie-ninja/rk-grpc/v2` ## Quick Start In the bellow example, we will start microservice with bellow functionality and middlewares enabled via YAML. @@ -124,7 +70,7 @@ In the bellow example, we will start microservice with bellow functionality and - [gRPC](https://grpc.io/docs/languages/go/) server reflection - Swagger UI - CommonService -- TV +- Docs - Prometheus Metrics (middleware) - Logging (middleware) - Meta (middleware) @@ -242,16 +188,16 @@ grpc: enableRkGwOption: true # Optional, default: false commonService: enabled: true # Optional, default: false - tv: + docs: enabled: true # Optional, default: false sw: enabled: true # Optional, default: false prom: enabled: true # Optional, default: false - interceptors: - loggingZap: + middleware: + logging: enabled: true # Optional, default: false - metricsProm: + prom: enabled: true # Optional, default: false meta: enabled: true # Optional, default: false @@ -267,45 +213,62 @@ grpc: package main import ( - "context" - "github.com/rookie-ninja/rk-entry/entry" - "github.com/rookie-ninja/rk-grpc/boot" - proto "github.com/rookie-ninja/rk-grpc/example/boot/simple/api/gen/v1" - "google.golang.org/grpc" + "context" + "embed" + _ "embed" + "github.com/rookie-ninja/rk-entry/v2/entry" + "github.com/rookie-ninja/rk-grpc/v2/boot" + proto "github.com/rookie-ninja/rk-grpc/v2/example/boot/simple/api/gen/v1" + "google.golang.org/grpc" ) +//go:embed boot.yaml +var boot []byte + +//go:embed api/gen/v1 +var docsFS embed.FS + +//go:embed api/gen/v1 +var staticFS embed.FS + +func init() { + rkentry.GlobalAppCtx.AddEmbedFS(rkentry.DocsEntryType, "greeter", &docsFS) + rkentry.GlobalAppCtx.AddEmbedFS(rkentry.SWEntryType, "greeter", &docsFS) + rkentry.GlobalAppCtx.AddEmbedFS(rkentry.StaticFileHandlerEntryType, "greeter", &staticFS) +} + func main() { - // Bootstrap basic entries from boot config. - rkentry.RegisterInternalEntriesFromConfig("example/boot/simple/boot.yaml") + // Bootstrap basic entries from boot config. + rkentry.BootstrapPreloadEntryYAML(boot) - // Bootstrap grpc entry from boot config - res := rkgrpc.RegisterGrpcEntriesWithConfig("example/boot/simple/boot.yaml") + // Bootstrap grpc entry from boot config + res := rkgrpc.RegisterGrpcEntryYAML(boot) - // Get GrpcEntry - grpcEntry := res["greeter"].(*rkgrpc.GrpcEntry) - // Register gRPC server - grpcEntry.AddRegFuncGrpc(func(server *grpc.Server) { - proto.RegisterGreeterServer(server, &GreeterServer{}) - }) - // Register grpc-gateway func - grpcEntry.AddRegFuncGw(proto.RegisterGreeterHandlerFromEndpoint) + // Get GrpcEntry + grpcEntry := res["greeter"].(*rkgrpc.GrpcEntry) + // Register gRPC server + grpcEntry.AddRegFuncGrpc(func(server *grpc.Server) { + proto.RegisterGreeterServer(server, &GreeterServer{}) + }) + // Register grpc-gateway func + grpcEntry.AddRegFuncGw(proto.RegisterGreeterHandlerFromEndpoint) - // Bootstrap grpc entry - grpcEntry.Bootstrap(context.Background()) + // Bootstrap grpc entry + grpcEntry.Bootstrap(context.Background()) - // Wait for shutdown signal - rkentry.GlobalAppCtx.WaitForShutdownSig() + // Wait for shutdown signal + rkentry.GlobalAppCtx.WaitForShutdownSig() - // Interrupt gin entry - grpcEntry.Interrupt(context.Background()) + // Interrupt gin entry + grpcEntry.Interrupt(context.Background()) } // GreeterServer Implementation of GreeterServer. type GreeterServer struct{} -// SayHello Handle SayHello method. +// Greeter Handle Greeter method. func (server *GreeterServer) Greeter(context.Context, *proto.GreeterRequest) (*proto.GreeterResponse, error) { - return &proto.GreeterResponse{}, nil + return &proto.GreeterResponse{}, nil } ``` @@ -320,35 +283,35 @@ Try to test [gRPC](https://grpc.io/docs/languages/go/) & [grpc-gateway](https:// ```shell script # Curl to common service -$ curl localhost:8080/rk/v1/healthy -{"healthy":true} +$ curl localhost:8080/rk/v1/ready +{"ready":true} ``` #### 6.2 Swagger UI -Please refer [documentation](https://rkdev.info/docs/bootstrapper/user-guide/grpc-golang/basic/swagger-ui/) for details of configuration. +Please refer **sw** section at [Full YAML](#full-yaml). By default, we could access swagger UI at [http://localhost:8080/sw](http://localhost:8080/sw) ![sw](docs/img/simple-sw.png) -#### 6.3 TV -Please refer [documentation](https://rkdev.info/docs/bootstrapper/user-guide/grpc-golang/basic/tv/) for details of configuration. +#### 4.3 Docs UI +Please refer **docs** section at [Full YAML](#full-yaml). -By default, we could access TV at [http://localhost:8080/rk/v1/tv](http://localhost:8080/rk/v1/tv) +By default, we could access docs UI at [http://localhost:8080/docs](http://localhost:8080/docs) -![tv](docs/img/simple-tv.png) +![docs](docs/img/simple-docs.png) #### 6.4 Prometheus Metrics -Please refer [documentation](https://rkdev.info/docs/bootstrapper/user-guide/grpc-golang/basic/middleware-metrics/) for details of configuration. +Please refer **middleware.prom** section at [Full YAML](#full-yaml). By default, we could access prometheus client at [http://localhost:8080/metrics](http://localhost:8080/metrics) ![prom](docs/img/simple-prom.png) #### 6.5 Logging -Please refer [documentation](https://rkdev.info/docs/bootstrapper/user-guide/grpc-golang/basic/middleware-logging/) for details of configuration. +Please refer **middleware.logging** section at [Full YAML](#full-yaml). -By default, we enable zap logger and event logger with encoding type of [console]. Encoding type of [json] is also supported. +By default, we enable zap logger and event logger with encoding type of [console]. Encoding type of [json] and [flatten] is also supported. ```shell script 2021-12-28T05:36:21.561+0800 INFO boot/grpc_entry.go:1515 Bootstrap grpcEntry {"eventId": "db2c977c-e0ff-4b21-bc0d-5966f1cad093", "entryName": "greeter"} @@ -373,12 +336,12 @@ EOE ``` #### 6.6 Meta -Please refer [documentation](https://rkdev.info/docs/bootstrapper/user-guide/grpc-golang/basic/middleware-meta/) for details of configuration. +Please refer **meta** section at [Full YAML](#full-yaml). By default, we will send back some metadata to client with headers. ```shell script -$ curl -vs localhost:8080/rk/v1/healthy +$ curl -vs localhost:8080/rk/v1/ready ... < HTTP/1.1 200 OK < Content-Type: application/json @@ -426,9 +389,7 @@ We registered api.v1.Greeter.Greeter API in [gRPC](https://grpc.io/docs/language ```shell script $ grpcurl -plaintext localhost:8080 api.v1.Greeter.Greeter -{ - -} +{} ``` #### 6.8 RPC logs @@ -488,135 +449,138 @@ Access [http://localhost:8080/metrics](http://localhost:8080/metrics) User can start multiple [gRPC](https://grpc.io/docs/languages/go/) and [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) instances at the same time. Please make sure use different port and name. ### gRPC Service -| name | description | type | default value | -| ------ | ------ | ------ | ------ | -| grpc.name | The name of [gRPC](https://grpc.io/docs/languages/go/) server | string | N/A | -| grpc.enabled | Enable [gRPC](https://grpc.io/docs/languages/go/) entry | bool | false | -| grpc.port | The port of [gRPC](https://grpc.io/docs/languages/go/) server | integer | nil, server won't start | -| grpc.description | Description of [gRPC](https://grpc.io/docs/languages/go/) entry. | string | "" | -| grpc.enableReflection | Enable [gRPC](https://grpc.io/docs/languages/go/) server reflection | boolean | false | -| grpc.enableRkGwOption | Enable RK style [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) server options. [detail](boot/gw_server_options.go) | false | -| grpc.noRecvMsgSizeLimit | Disable [gRPC](https://grpc.io/docs/languages/go/) server side receive message size limit | false | -| grpc.gwMappingFilePaths | The grpc [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) mapping file path. [example](boot/api/v1/gw_mapping.yaml) | string array | [] | -| grpc.certEntry | Reference of cert entry declared in [cert entry](https://github.com/rookie-ninja/rk-entry#certentry) | string | "" | -| grpc.logger.zapLogger | Reference of zapLoggerEntry declared in [zapLoggerEntry](https://github.com/rookie-ninja/rk-entry#zaploggerentry) | string | "" | -| grpc.logger.eventLogger | Reference of eventLoggerEntry declared in [eventLoggerEntry](https://github.com/rookie-ninja/rk-entry#eventloggerentry) | string | "" | +| name | description | type | default value | +|-------------------------|----------------------------------------------------------------------------------------------------------------------------------------------|---------|-------------------------| +| grpc.name | Required, The name of [gRPC](https://grpc.io/docs/languages/go/) server | string | N/A | +| grpc.enabled | Required, Enable [gRPC](https://grpc.io/docs/languages/go/) entry | bool | false | +| grpc.port | Required, The port of [gRPC](https://grpc.io/docs/languages/go/) server | integer | nil, server won't start | +| grpc.description | Optional, Description of [gRPC](https://grpc.io/docs/languages/go/) entry. | string | "" | +| grpc.enableReflection | Optional, Enable [gRPC](https://grpc.io/docs/languages/go/) server reflection | boolean | false | +| grpc.enableRkGwOption | Optional, Enable RK style [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) server options. [detail](boot/gw_server_options.go) | false | +| grpc.noRecvMsgSizeLimit | Optional, Disable [gRPC](https://grpc.io/docs/languages/go/) server side receive message size limit | false | +| grpc.certEntry | Optional, Reference of certEntry declared in [cert entry](https://github.com/rookie-ninja/rk-entry#certentry) | string | "" | +| grpc.loggerEntry | Optional, Reference of loggerEntry declared in [LoggerEntry](https://github.com/rookie-ninja/rk-entry#loggerentry) | string | "" | +| grpc.eventEntry | Optional, Reference of eventLEntry declared in [eventEntry](https://github.com/rookie-ninja/rk-entry#evententry) | string | "" | ### gRPC gateway options Please refer to bellow repository for detailed explanations. - [protobuf-go/encoding/protojson/encode.go](https://github.com/protocolbuffers/protobuf-go/blob/master/encoding/protojson/encode.go#L43) - [protobuf-go/encoding/protojson/decode.go ](https://github.com/protocolbuffers/protobuf-go/blob/master/encoding/protojson/decode.go#L33) -| name | description | type | default value | -| ------ | ------ | ------ | ------ | -| grpc.gwOption.marshal.multiline | Enable multiline in [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) marshaller | bool | false | -| grpc.gwOption.marshal.emitUnpopulated | Enable emitUnpopulated in [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) marshaller | bool | false | -| grpc.gwOption.marshal.indent | Set indent in [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) marshaller | string | " " | -| grpc.gwOption.marshal.allowPartial | Enable allowPartial in [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) marshaller | bool | false | -| grpc.gwOption.marshal.useProtoNames | Enable useProtoNames in [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) marshaller | bool | false | -| grpc.gwOption.marshal.useEnumNumbers | Enable useEnumNumbers in [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) marshaller | bool | false | -| grpc.gwOption.unmarshal.allowPartial | Enable allowPartial in [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) unmarshaler | bool | false | -| grpc.gwOption.unmarshal.discardUnknown | Enable discardUnknown in [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) unmarshaler | bool | false | +| name | description | type | default value | +|----------------------------------------|---------------------------------------------------------------------------------------------------------------|--------|---------------| +| grpc.gwOption.marshal.multiline | Optional, Enable multiline in [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) marshaller | bool | false | +| grpc.gwOption.marshal.emitUnpopulated | Optional, Enable emitUnpopulated in [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) marshaller | bool | false | +| grpc.gwOption.marshal.indent | Optional, Set indent in [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) marshaller | string | " " | +| grpc.gwOption.marshal.allowPartial | Optional, Enable allowPartial in [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) marshaller | bool | false | +| grpc.gwOption.marshal.useProtoNames | Optional, Enable useProtoNames in [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) marshaller | bool | false | +| grpc.gwOption.marshal.useEnumNumbers | Optional, Enable useEnumNumbers in [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) marshaller | bool | false | +| grpc.gwOption.unmarshal.allowPartial | Optional, Enable allowPartial in [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) unmarshaler | bool | false | +| grpc.gwOption.unmarshal.discardUnknown | Optional, Enable discardUnknown in [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) unmarshaler | bool | false | ### Common Service -| Path | Description | -| ---- | ---- | -| /rk/v1/apis | List APIs in current GinEntry. | -| /rk/v1/certs | List CertEntry. | -| /rk/v1/configs | List ConfigEntry. | -| /rk/v1/deps | List dependencies related application, entire contents of go.mod file would be returned. | -| /rk/v1/entries | List all Entries. | -| /rk/v1/gc | Trigger GC | -| /rk/v1/healthy | Get application healthy status. | -| /rk/v1/info | Get application and process info. | -| /rk/v1/license | Get license related application, entire contents of LICENSE file would be returned. | -| /rk/v1/logs | List logger related entries. | -| /rk/v1/git | Get git information. | -| /rk/v1/readme | Get contents of README file. | -| /rk/v1/req | List prometheus metrics of requests. | -| /rk/v1/sys | Get OS stat. | -| /rk/v1/tv | Get HTML page of /tv. | - -| name | description | type | default value | -| ------ | ------ | ------ | ------ | -| grpc.commonService.enabled | Enable embedded common service | boolean | false | +| Path | Description | +|--------------|-----------------------------------| +| /rk/v1/gc | Trigger GC | +| /rk/v1/ready | Get application readiness status. | +| /rk/v1/alive | Get application aliveness status. | +| /rk/v1/info | Get application and process info. | + +| name | description | type | default value | +|------------------------------|-----------------------------------------|---------|---------------| +| gin.commonService.enabled | Optional, Enable builtin common service | boolean | false | +| gin.commonService.pathPrefix | Optional, Provide path prefix | string | /rk/v1 | + +### Swagger +| name | description | type | default value | +|------------------|--------------------------------------------------------------------|----------|---------------| +| grpc.sw.enabled | Optional, Enable swagger service over gin server | boolean | false | +| grpc.sw.path | Optional, The path access swagger service from web | string | /sw | +| grpc.sw.jsonPath | Optional, Where the swagger.json files are stored locally | string | "" | +| grpc.sw.headers | Optional, Headers would be sent to caller as scheme of [key:value] | []string | [] | + +### Docs (RapiDoc) +| name | description | type | default value | +|-----------------------|----------------------------------------------------------------------------------------|----------|---------------| +| grpc.docs.enabled | Optional, Enable RapiDoc service over gin server | boolean | false | +| grpc.docs.path | Optional, The path access docs service from web | string | /docs | +| grpc.docs.jsonPath | Optional, Where the swagger.json or open API files are stored locally | string | "" | +| grpc.docs.headers | Optional, Headers would be sent to caller as scheme of [key:value] | []string | [] | +| grpc.docs.style.theme | Optional, light and dark are supported options | string | [] | +| grpc.docs.debug | Optional, Enable debugging mode in RapiDoc which can be used as the same as Swagger UI | boolean | false | ### Prom Client -| name | description | type | default value | -| ------ | ------ | ------ | ------ | -| grpc.prom.enabled | Enable prometheus | boolean | false | -| grpc.prom.path | Path of prometheus | string | /metrics | -| grpc.prom.pusher.enabled | Enable prometheus pusher | bool | false | -| grpc.prom.pusher.jobName | Job name would be attached as label while pushing to remote [pushgateway](https://github.com/prometheus/pushgateway) | string | "" | -| grpc.prom.pusher.remoteAddress | [pushgateway](https://github.com/prometheus/pushgateway) address, could be form of http://x.x.x.x or x.x.x.x | string | "" | -| grpc.prom.pusher.intervalMs | Push interval in milliseconds | string | 1000 | -| grpc.prom.pusher.basicAuth | Basic auth used to interact with remote [pushgateway](https://github.com/prometheus/pushgateway), form of [user:pass] | string | "" | -| grpc.prom.pusher.cert.ref | Reference of rkentry.CertEntry | string | "" | - -### TV Service -| name | description | type | default value | -| ------ | ------ | ------ | ------ | -| grpc.tv.enabled | Enable RK TV | boolean | false | - -### Swagger Service -| name | description | type | default value | -| ------ | ------ | ------ | ------ | -| grpc.sw.enabled | Enable swagger service over [gRPC](https://grpc.io/docs/languages/go/) server | boolean | false | -| grpc.sw.path | The path access swagger service from web | string | /sw | -| grpc.sw.jsonPath | Where the swagger.json files are stored locally | string | "" | -| grpc.sw.headers | Headers would be sent to caller as scheme of [key:value] | []string | [] | +| name | description | type | default value | +|--------------------------------|------------------------------------------------------------------------------------|---------|---------------| +| grpc.prom.enabled | Optional, Enable prometheus | boolean | false | +| grpc.prom.path | Optional, Path of prometheus | string | /metrics | +| grpc.prom.pusher.enabled | Optional, Enable prometheus pusher | bool | false | +| grpc.prom.pusher.jobName | Optional, Job name would be attached as label while pushing to remote pushgateway | string | "" | +| grpc.prom.pusher.remoteAddress | Optional, PushGateWay address, could be form of http://x.x.x.x or x.x.x.x | string | "" | +| grpc.prom.pusher.intervalMs | Optional, Push interval in milliseconds | string | 1000 | +| grpc.prom.pusher.basicAuth | Optional, Basic auth used to interact with remote pushgateway, form of [user:pass] | string | "" | +| grpc.prom.pusher.certEntry | Optional, Reference of rkentry.CertEntry | string | "" | ### Static file handler Service -| name | description | type | default value | -| ------ | ------ | ------ | ------ | -| grpc.static.enabled | Optional, Enable static file handler | boolean | false | -| grpc.static.path | Optional, path of static file handler | string | /rk/v1/static | -| grpc.static.sourceType | Required, local and pkger supported | string | "" | -| grpc.static.sourcePath | Required, full path of source directory | string | "" | - -- About [pkger](https://github.com/markbates/pkger) -User can use pkger command line tool to embed static files into .go files. - -Please use sourcePath like: github.com/rookie-ninja/rk-grpc:/boot/assets +| name | description | type | default value | +|------------------------|-----------------------------------------|---------|---------------| +| grpc.static.enabled | Optional, Enable static file handler | boolean | false | +| grpc.static.path | Optional, path of static file handler | string | /static | +| grpc.static.sourceType | Required, local and pkger supported | string | "" | +| grpc.static.sourcePath | Required, full path of source directory | string | "" | + +- About embed.FS + User has to set embedFS before Bootstrap() function as bellow: +- +```go +//go:embed /* +var staticFS embed.FS +rkentry.GlobalAppCtx.AddEmbedFS(rkentry.StaticFileHandlerEntryType, "greeter", &staticFS) +``` -### Interceptors -#### Log -| name | description | type | default value | -| ------ | ------ | ------ | ------ | -| grpc.interceptors.loggingZap.enabled | Enable log interceptor | boolean | false | -| grpc.interceptors.loggingZap.zapLoggerEncoding | json or console | string | console | -| grpc.interceptors.loggingZap.zapLoggerOutputPaths | Output paths | []string | stdout | -| grpc.interceptors.loggingZap.eventLoggerEncoding | json or console | string | console | -| grpc.interceptors.loggingZap.eventLoggerOutputPaths | Output paths | []string | false | +### Middlewares +| name | description | type | default value | +|------------------------|--------------------------------------------------------|----------|---------------| +| grpc.middleware.ignore | The paths of prefix that will be ignored by middleware | []string | [] | + +#### Logging +| name | description | type | default value | +|-------------------------------------------|--------------------------------------------------------|----------|---------------| +| grpc.middleware.logging.enabled | Enable log middleware | boolean | false | +| grpc.middleware.logging.ignore | The paths of prefix that will be ignored by middleware | []string | [] | +| grpc.middleware.logging.loggerEncoding | json or console or flatten | string | console | +| grpc.middleware.logging.loggerOutputPaths | Output paths | []string | stdout | +| grpc.middleware.logging.eventEncoding | json or console or flatten | string | console | +| grpc.middleware.logging.eventOutputPaths | Output paths | []string | false | We will log two types of log for every RPC call. -- zapLogger +- Logger Contains user printed logging with requestId or traceId. -- eventLogger +- Event Contains per RPC metadata, response information, environment information and etc. -| Field | Description | -| ---- | ---- | -| endTime | As name described | -| startTime | As name described | -| elapsedNano | Elapsed time for RPC in nanoseconds | -| timezone | As name described | -| ids | Contains three different ids(eventId, requestId and traceId). If meta interceptor was enabled or event.SetRequestId() was called by user, then requestId would be attached. eventId would be the same as requestId if meta interceptor was enabled. If trace interceptor was enabled, then traceId would be attached. | -| app | Contains [appName, appVersion](https://github.com/rookie-ninja/rk-entry#appinfoentry), entryName, entryType. | -| env | Contains arch, az, domain, hostname, localIP, os, realm, region. realm, region, az, domain were retrieved from environment variable named as REALM, REGION, AZ and DOMAIN. "*" means empty environment variable.| -| payloads | Contains RPC related metadata | -| error | Contains errors if occur | -| counters | Set by calling event.SetCounter() by user. | -| pairs | Set by calling event.AddPair() by user. | -| timing | Set by calling event.StartTimer() and event.EndTimer() by user. | -| remoteAddr | As name described | -| operation | RPC method name | -| resCode | Response code of RPC | -| eventStatus | Ended or InProgress | +| Field | Description | +|-------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| endTime | As name described | +| startTime | As name described | +| elapsedNano | Elapsed time for RPC in nanoseconds | +| timezone | As name described | +| ids | Contains three different ids(eventId, requestId and traceId). If meta interceptor was enabled or event.SetRequestId() was called by user, then requestId would be attached. eventId would be the same as requestId if meta interceptor was enabled. If trace interceptor was enabled, then traceId would be attached. | +| app | Contains [appName, appVersion](https://github.com/rookie-ninja/rk-entry#appinfoentry), entryName, entryType. | +| env | Contains arch, az, domain, hostname, localIP, os, realm, region. realm, region, az, domain were retrieved from environment variable named as REALM, REGION, AZ and DOMAIN. "*" means empty environment variable. | +| payloads | Contains RPC related metadata | +| error | Contains errors if occur | +| counters | Set by calling event.SetCounter() by user. | +| pairs | Set by calling event.AddPair() by user. | +| timing | Set by calling event.StartTimer() and event.EndTimer() by user. | +| remoteAddr | As name described | +| operation | RPC method name | +| resCode | Response code of RPC | +| eventStatus | Ended or InProgress | - example @@ -641,90 +605,111 @@ eventStatus=Ended EOE ``` -#### Metrics -| name | description | type | default value | -| ------ | ------ | ------ | ------ | -| grpc.interceptors.metricsProm.enabled | Enable metrics interceptor | boolean | false | +#### Prometheus +| name | description | type | default value | +|------------------------------|--------------------------------------------------------|----------|---------------| +| grpc.middleware.prom.enabled | Enable metrics middleware | boolean | false | +| grpc.middleware.prom.ignore | The paths of prefix that will be ignored by middleware | []string | [] | #### Auth Enable the server side auth. codes.Unauthenticated would be returned to client if not authorized with user defined credential. -| name | description | type | default value | -| ------ | ------ | ------ | ------ | -| grpc.interceptors.auth.enabled | Enable auth interceptor | boolean | false | -| grpc.interceptors.auth.basic | Basic auth credentials as scheme of | []string | [] | -| grpc.interceptors.auth.apiKey | API key | []string | [] | -| grpc.interceptors.auth.ignorePrefix | The paths of prefix that will be ignored by interceptor | []string | [] | +| name | description | type | default value | +|------------------------------|--------------------------------------------------------|----------|---------------| +| grpc.middleware.auth.enabled | Enable auth middleware | boolean | false | +| grpc.middleware.auth.ignore | The paths of prefix that will be ignored by middleware | []string | [] | +| grpc.middleware.auth.basic | Basic auth credentials as scheme of | []string | [] | +| grpc.middleware.auth.apiKey | API key auth | []string | [] | #### Meta -Send application metadata as header to client and [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway). - -| name | description | type | default value | -| ------ | ------ | ------ | ------ | -| grpc.interceptors.meta.enabled | Enable meta interceptor | boolean | false | -| grpc.interceptors.meta.prefix | Header key was formed as X--XXX | string | RK | - -#### Tracing -| name | description | type | default value | -| ------ | ------ | ------ | ------ | -| grpc.interceptors.tracingTelemetry.enabled | Enable tracing interceptor | boolean | false | -| grpc.interceptors.tracingTelemetry.exporter.file.enabled | Enable file exporter | boolean | false | -| grpc.interceptors.tracingTelemetry.exporter.file.outputPath | Export tracing info to files | string | stdout | -| grpc.interceptors.tracingTelemetry.exporter.jaeger.agent.enabled | Export tracing info to jaeger agent | boolean | false | -| grpc.interceptors.tracingTelemetry.exporter.jaeger.agent.host | As name described | string | localhost | -| grpc.interceptors.tracingTelemetry.exporter.jaeger.agent.port | As name described | int | 6831 | -| grpc.interceptors.tracingTelemetry.exporter.jaeger.collector.enabled | Export tracing info to jaeger collector | boolean | false | -| grpc.interceptors.tracingTelemetry.exporter.jaeger.collector.endpoint | As name described | string | http://localhost:16368/api/trace | -| grpc.interceptors.tracingTelemetry.exporter.jaeger.collector.username | As name described | string | "" | -| grpc.interceptors.tracingTelemetry.exporter.jaeger.collector.password | As name described | string | "" | +Send application metadata as header to client. + +| name | description | type | default value | +|------------------------------|--------------------------------------------------------|----------|---------------| +| grpc.middleware.meta.enabled | Enable meta middleware | boolean | false | +| grpc.middleware.meta.ignore | The paths of prefix that will be ignored by middleware | []string | [] | +| grpc.middleware.meta.prefix | Header key was formed as X--XXX | string | RK | + +#### Trace +| name | description | type | default value | +|----------------------------------------------------------|--------------------------------------------------------|----------|----------------------------------| +| grpc.middleware.trace.enabled | Enable tracing middleware | boolean | false | +| grpc.middleware.trace.ignore | The paths of prefix that will be ignored by middleware | []string | [] | +| grpc.middleware.trace.exporter.file.enabled | Enable file exporter | boolean | false | +| grpc.middleware.trace.exporter.file.outputPath | Export tracing info to files | string | stdout | +| grpc.middleware.trace.exporter.jaeger.agent.enabled | Export tracing info to jaeger agent | boolean | false | +| grpc.middleware.trace.exporter.jaeger.agent.host | As name described | string | localhost | +| grpc.middleware.trace.exporter.jaeger.agent.port | As name described | int | 6831 | +| grpc.middleware.trace.exporter.jaeger.collector.enabled | Export tracing info to jaeger collector | boolean | false | +| grpc.middleware.trace.exporter.jaeger.collector.endpoint | As name described | string | http://localhost:16368/api/trace | +| grpc.middleware.trace.exporter.jaeger.collector.username | As name described | string | "" | +| grpc.middleware.trace.exporter.jaeger.collector.password | As name described | string | "" | #### RateLimit -| name | description | type | default value | -| ------ | ------ | ------ | ------ | -| grpc.interceptors.rateLimit.enabled | Enable rate limit interceptor | boolean | false | -| grpc.interceptors.rateLimit.algorithm | Provide algorithm, tokenBucket and leakyBucket are available options | string | tokenBucket | -| grpc.interceptors.rateLimit.reqPerSec | Request per second globally | int | 0 | -| grpc.interceptors.rateLimit.paths.path | [gRPC](https://grpc.io/docs/languages/go/) full name | string | "" | -| grpc.interceptors.rateLimit.paths.reqPerSec | Request per second by [gRPC](https://grpc.io/docs/languages/go/) full method name | int | 0 | +| name | description | type | default value | +|-------------------------------------------|----------------------------------------------------------------------|----------|---------------| +| grpc.middleware.rateLimit.enabled | Enable rate limit middleware | boolean | false | +| grpc.middleware.rateLimit.ignore | The paths of prefix that will be ignored by middleware | []string | [] | +| grpc.middleware.rateLimit.algorithm | Provide algorithm, tokenBucket and leakyBucket are available options | string | tokenBucket | +| grpc.middleware.rateLimit.reqPerSec | Request per second globally | int | 0 | +| grpc.middleware.rateLimit.paths.path | Full path | string | "" | +| grpc.middleware.rateLimit.paths.reqPerSec | Request per second by full path | int | 0 | #### Timeout -| name | description | type | default value | -| ------ | ------ | ------ | ------ | -| grpc.interceptors.timeout.enabled | Enable timeout interceptor | boolean | false | -| grpc.interceptors.timeout.timeoutMs | Global timeout in milliseconds. | int | 5000 | -| grpc.interceptors.timeout.paths.path | Full path | string | "" | -| grpc.interceptors.timeout.paths.timeoutMs | Timeout in milliseconds by full path | int | 5000 | +| name | description | type | default value | +|-----------------------------------------|--------------------------------------------------------|----------|---------------| +| grpc.middleware.timeout.enabled | Enable timeout middleware | boolean | false | +| grpc.middleware.timeout.ignore | The paths of prefix that will be ignored by middleware | []string | [] | +| grpc.middleware.timeout.timeoutMs | Global timeout in milliseconds. | int | 5000 | +| grpc.middleware.timeout.paths.path | Full path | string | "" | +| grpc.middleware.timeout.paths.timeoutMs | Timeout in milliseconds by full path | int | 5000 | #### CORS Middleware for [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway). -| name | description | type | default value | -| ------ | ------ | ------ | ------ | -| grpc.interceptors.cors.enabled | Enable cors interceptor | boolean | false | -| grpc.interceptors.cors.allowOrigins | Provide allowed origins with wildcard enabled. | []string | * | -| grpc.interceptors.cors.allowMethods | Provide allowed methods returns as response header of OPTIONS request. | []string | All http methods | -| grpc.interceptors.cors.allowHeaders | Provide allowed headers returns as response header of OPTIONS request. | []string | Headers from request | -| grpc.interceptors.cors.allowCredentials | Returns as response header of OPTIONS request. | bool | false | -| grpc.interceptors.cors.exposeHeaders | Provide exposed headers returns as response header of OPTIONS request. | []string | "" | -| grpc.interceptors.cors.maxAge | Provide max age returns as response header of OPTIONS request. | int | 0 | +| name | description | type | default value | +|---------------------------------------|------------------------------------------------------------------------|----------|----------------------| +| grpc.middleware.cors.enabled | Enable cors middleware | boolean | false | +| grpc.middleware.cors.ignore | The paths of prefix that will be ignored by middleware | []string | [] | +| grpc.middleware.cors.allowOrigins | Provide allowed origins with wildcard enabled. | []string | * | +| grpc.middleware.cors.allowMethods | Provide allowed methods returns as response header of OPTIONS request. | []string | All http methods | +| grpc.middleware.cors.allowHeaders | Provide allowed headers returns as response header of OPTIONS request. | []string | Headers from request | +| grpc.middleware.cors.allowCredentials | Returns as response header of OPTIONS request. | bool | false | +| grpc.middleware.cors.exposeHeaders | Provide exposed headers returns as response header of OPTIONS request. | []string | "" | +| grpc.middleware.cors.maxAge | Provide max age returns as response header of OPTIONS request. | int | 0 | #### JWT -| name | description | type | default value | -| ------ | ------ | ------ | ------ | -| grpc.interceptors.jwt.enabled | Enable JWT interceptor | boolean | false | -| grpc.interceptors.jwt.signingKey | Required, Provide signing key. | string | "" | -| grpc.interceptors.jwt.ignorePrefix | Provide ignoring path prefix. | []string | [] | -| grpc.interceptors.jwt.signingKeys | Provide signing keys as scheme of :. | []string | [] | -| grpc.interceptors.jwt.signingAlgo | Provide signing algorithm. | string | HS256 | -| grpc.interceptors.jwt.tokenLookup | Provide token lookup scheme, please see bellow description. | string | "header:Authorization" | -| grpc.interceptors.jwt.authScheme | Provide auth scheme. | string | Bearer | - -The supported scheme of **tokenLookup** +> rk-grpc using github.com/golang-jwt/jwt/v4, please beware of version compatibility. + +In order to make swagger UI and RK tv work under JWT without JWT token, we need to ignore prefixes of paths as bellow. + +```yaml +jwt: + ... + ignore: + - "/sw" +``` + +| name | description | type | default value | +|---------------------------------|-------------------------------------------------------------|----------|------------------------| +| grpc.middleware.jwt.enabled | Enable JWT middleware | boolean | false | +| grpc.middleware.jwt.ignore | Provide ignoring path prefix. | []string | [] | +| grpc.middleware.jwt.signingKey | Required, Provide signing key. | string | "" | +| grpc.middleware.jwt.signingKeys | Provide signing keys as scheme of :. | []string | [] | +| grpc.middleware.jwt.signingAlgo | Provide signing algorithm. | string | HS256 | +| grpc.middleware.jwt.tokenLookup | Provide token lookup scheme, please see bellow description. | string | "header:Authorization" | +| grpc.middleware.jwt.authScheme | Provide auth scheme. | string | Bearer | + +The supported scheme of **tokenLookup** ``` // Optional. Default value "header:Authorization". // Possible values: // - "header:" +// - "query:" +// - "param:" +// - "cookie:" +// - "form:" // Multiply sources example: // - "header: Authorization,cookie: myowncookie" ``` @@ -732,84 +717,81 @@ The supported scheme of **tokenLookup** #### Secure Middleware for [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway). -| name | description | type | default value | -| ------ | ------ | ------ | ------ | -| grpc.interceptors.secure.enabled | Enable secure interceptor | boolean | false | -| grpc.interceptors.secure.xssProtection | X-XSS-Protection header value. | string | "1; mode=block" | -| grpc.interceptors.secure.contentTypeNosniff | X-Content-Type-Options header value. | string | nosniff | -| grpc.interceptors.secure.xFrameOptions | X-Frame-Options header value. | string | SAMEORIGIN | -| grpc.interceptors.secure.hstsMaxAge | Strict-Transport-Security header value. | int | 0 | -| grpc.interceptors.secure.hstsExcludeSubdomains | Excluding subdomains of HSTS. | bool | false | -| grpc.interceptors.secure.hstsPreloadEnabled | Enabling HSTS preload. | bool | false | -| grpc.interceptors.secure.contentSecurityPolicy | Content-Security-Policy header value. | string | "" | -| grpc.interceptors.secure.cspReportOnly | Content-Security-Policy-Report-Only header value. | bool | false | -| grpc.interceptors.secure.referrerPolicy | Referrer-Policy header value. | string | "" | -| grpc.interceptors.secure.ignorePrefix | Ignoring path prefix. | []string | [] | +| name | description | type | default value | +|----------------------------------------------|---------------------------------------------------|----------|-----------------| +| grpc.middleware.secure.enabled | Enable secure middleware | boolean | false | +| grpc.middleware.secure.ignore | Ignoring path prefix. | []string | [] | +| grpc.middleware.secure.xssProtection | X-XSS-Protection header value. | string | "1; mode=block" | +| grpc.middleware.secure.contentTypeNosniff | X-Content-Type-Options header value. | string | nosniff | +| grpc.middleware.secure.xFrameOptions | X-Frame-Options header value. | string | SAMEORIGIN | +| grpc.middleware.secure.hstsMaxAge | Strict-Transport-Security header value. | int | 0 | +| grpc.middleware.secure.hstsExcludeSubdomains | Excluding subdomains of HSTS. | bool | false | +| grpc.middleware.secure.hstsPreloadEnabled | Enabling HSTS preload. | bool | false | +| grpc.middleware.secure.contentSecurityPolicy | Content-Security-Policy header value. | string | "" | +| grpc.middleware.secure.cspReportOnly | Content-Security-Policy-Report-Only header value. | bool | false | +| grpc.middleware.secure.referrerPolicy | Referrer-Policy header value. | string | "" | #### CSRF Middleware for [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway). -| name | description | type | default value | -| ------ | ------ | ------ | ------ | -| grpc.interceptors.csrf.enabled | Enable csrf interceptor | boolean | false | -| grpc.interceptors.csrf.tokenLength | Provide the length of the generated token. | int | 32 | -| grpc.interceptors.csrf.tokenLookup | Provide csrf token lookup rules, please see code comments for details. | string | "header:X-CSRF-Token" | -| grpc.interceptors.csrf.cookieName | Provide name of the CSRF cookie. This cookie will store CSRF token. | string | _csrf | -| grpc.interceptors.csrf.cookieDomain | Domain of the CSRF cookie. | string | "" | -| grpc.interceptors.csrf.cookiePath | Path of the CSRF cookie. | string | "" | -| grpc.interceptors.csrf.cookieMaxAge | Provide max age (in seconds) of the CSRF cookie. | int | 86400 | -| grpc.interceptors.csrf.cookieHttpOnly | Indicates if CSRF cookie is HTTP only. | bool | false | -| grpc.interceptors.csrf.cookieSameSite | Indicates SameSite mode of the CSRF cookie. Options: lax, strict, none, default | string | default | -| grpc.interceptors.csrf.ignorePrefix | Ignoring path prefix. | []string | [] | +| name | description | type | default value | +|-------------------------------------|---------------------------------------------------------------------------------|----------|-----------------------| +| grpc.middleware.csrf.enabled | Enable csrf middleware | boolean | false | +| grpc.middleware.csrf.ignore | Ignoring path prefix. | []string | [] | +| grpc.middleware.csrf.tokenLength | Provide the length of the generated token. | int | 32 | +| grpc.middleware.csrf.tokenLookup | Provide csrf token lookup rules, please see code comments for details. | string | "header:X-CSRF-Token" | +| grpc.middleware.csrf.cookieName | Provide name of the CSRF cookie. This cookie will store CSRF token. | string | _csrf | +| grpc.middleware.csrf.cookieDomain | Domain of the CSRF cookie. | string | "" | +| grpc.middleware.csrf.cookiePath | Path of the CSRF cookie. | string | "" | +| grpc.middleware.csrf.cookieMaxAge | Provide max age (in seconds) of the CSRF cookie. | int | 86400 | +| grpc.middleware.csrf.cookieHttpOnly | Indicates if CSRF cookie is HTTP only. | bool | false | +| grpc.middleware.csrf.cookieSameSite | Indicates SameSite mode of the CSRF cookie. Options: lax, strict, none, default | string | default | ### Full YAML ```yaml --- #app: +# name: my-app # Optional, default: "rk-app" +# version: "v1.0.0" # Optional, default: "v0.0.0" # description: "this is description" # Optional, default: "" # keywords: ["rk", "golang"] # Optional, default: [] # homeUrl: "http://example.com" # Optional, default: "" -# iconUrl: "http://example.com" # Optional, default: "" # docsUrl: ["http://example.com"] # Optional, default: [] # maintainers: ["rk-dev"] # Optional, default: [] -#zapLogger: -# - name: zap-logger # Required +#logger: +# - name: my-logger # Required # description: "Description of entry" # Optional -# zap: -# level: info # Optional, default: info, options: [debug, DEBUG, info, INFO, warn, WARN, dpanic, DPANIC, panic, PANIC, fatal, FATAL] +# locale: "*::*::*::*" # Optional, default: "*::*::*::*" +# zap: # Optional +# level: info # Optional, default: info # development: true # Optional, default: true # disableCaller: false # Optional, default: false # disableStacktrace: true # Optional, default: true -# sampling: +# encoding: console # Optional, default: console +# outputPaths: ["stdout"] # Optional, default: [stdout] +# errorOutputPaths: ["stderr"] # Optional, default: [stderr] +# encoderConfig: # Optional +# timeKey: "ts" # Optional, default: ts +# levelKey: "level" # Optional, default: level +# nameKey: "logger" # Optional, default: logger +# callerKey: "caller" # Optional, default: caller +# messageKey: "msg" # Optional, default: msg +# stacktraceKey: "stacktrace" # Optional, default: stacktrace +# skipLineEnding: false # Optional, default: false +# lineEnding: "\n" # Optional, default: \n +# consoleSeparator: "\t" # Optional, default: \t +# sampling: # Optional, default: nil # initial: 0 # Optional, default: 0 # thereafter: 0 # Optional, default: 0 -# encoding: console # Optional, default: "console", options: [console, json] -# encoderConfig: -# messageKey: "msg" # Optional, default: "msg" -# levelKey: "level" # Optional, default: "level" -# timeKey: "ts" # Optional, default: "ts" -# nameKey: "logger" # Optional, default: "logger" -# callerKey: "caller" # Optional, default: "caller" -# functionKey: "" # Optional, default: "" -# stacktraceKey: "msg" # Optional, default: "msg" -# lineEnding: "\n" # Optional, default: "\n" -# levelEncoder: "capitalColor" # Optional, default: "capitalColor", options: [capital, capitalColor, color, lowercase] -# timeEncoder: "iso8601" # Optional, default: "iso8601", options: [rfc3339nano, RFC3339Nano, rfc3339, RFC3339, iso8601, ISO8601, millis, nanos] -# durationEncoder: "string" # Optional, default: "string", options: [string, nanos, ms] -# callerEncoder: "" # Optional, default: "" -# nameEncoder: "" # Optional, default: "" -# consoleSeparator: "" # Optional, default: "" -# outputPaths: [ "stdout" ] # Optional, default: ["stdout"], stdout would be replaced if specified -# errorOutputPaths: [ "stderr" ] # Optional, default: ["stderr"], stderr would be replaced if specified # initialFields: # Optional, default: empty map -# key: "value" -# lumberjack: -# filename: "rkapp.log" # Optional, default: It uses -lumberjack.log in os.TempDir() if empty. -# maxsize: 1024 # Optional, default: 1024 (MB) -# maxage: 7 # Optional, default: 7 (days) -# maxbackups: 3 # Optional, default: 3 (days) -# localtime: true # Optional, default: true -# compress: true # Optional, default: true +# key: value +# lumberjack: # Optional, default: nil +# filename: +# maxsize: 1024 # Optional, suggested: 1024 (MB) +# maxage: 7 # Optional, suggested: 7 (day) +# maxbackups: 3 # Optional, suggested: 3 (day) +# localtime: true # Optional, suggested: true +# compress: true # Optional, suggested: true # loki: # enabled: true # Optional, default: false # addr: localhost:3100 # Optional, default: localhost:3100 @@ -821,17 +803,19 @@ Middleware for [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway). # insecureSkipVerify: false # Optional, default: false # labels: # Optional, default: empty map # my_label_key: my_label_value -#eventLogger: -# - name: event-logger # Required -# encoding: "json" # Optional, default: console, options: [json, console] -# outputPaths: [] # Optional, default: ["stdout"], stdout would be replaced if specified -# lumberjack: -# filename: "rkapp.log" # Optional, default: It uses -lumberjack.log in os.TempDir() if empty. -# maxsize: 1024 # Optional, default: 1024 (MB) -# maxage: 7 # Optional, default: 7 (days) -# maxbackups: 3 # Optional, default: 3 (days) -# localtime: true # Optional, default: true -# compress: true # Optional, default: true +#event: +# - name: my-event # Required +# description: "Description of entry" # Optional +# locale: "*::*::*::*" # Optional, default: "*::*::*::*" +# encoding: console # Optional, default: console +# outputPaths: ["stdout"] # Optional, default: [stdout] +# lumberjack: # Optional, default: nil +# filename: +# maxsize: 1024 # Optional, suggested: 1024 (MB) +# maxage: 7 # Optional, suggested: 7 (day) +# maxbackups: 3 # Optional, suggested: 3 (day) +# localtime: true # Optional, suggested: true +# compress: true # Optional, suggested: true # loki: # enabled: true # Optional, default: false # addr: localhost:3100 # Optional, default: localhost:3100 @@ -843,26 +827,21 @@ Middleware for [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway). # insecureSkipVerify: false # Optional, default: false # labels: # Optional, default: empty map # my_label_key: my_label_value -#cred: -# - name: "local-cred" # Required -# description: "Description of entry" # Optional -# provider: "localFs" # Required, etcd, consul, localFs, remoteFs are supported options -# locale: "*::*::*::*" # Required, default: "" -# paths: # Optional -# - "example/boot/full/cred.yaml" -#cert: # Optional -# - name: "local-cert" # Required -# provider: "localFs" # Required, etcd, consul, localFs, remoteFs are supported options -# locale: "*::*::*::*" # Required, default: "" -# description: "Description of entry" # Optional -# serverCertPath: "example/boot/full/server.pem" # Optional, default: "", path of certificate on local FS -# serverKeyPath: "example/boot/full/server-key.pem" # Optional, default: "", path of certificate on local FS -# clientCertPath: "example/boot/full/server.pem" # Optional, default: "", path of certificate on local FS +#cert: +# - name: my-cert # Required +# description: "Description of entry" # Optional, default: "" +# locale: "*::*::*::*" # Optional, default: *::*::*::* +# caPath: "certs/ca.pem" # Optional, default: "" +# certPemPath: "certs/server-cert.pem" # Optional, default: "" +# keyPemPath: "certs/server-key.pem" # Optional, default: "" #config: -# - name: rk-main # Required -# path: "example/boot/full/config.yaml" # Required -# locale: "*::*::*::*" # Required, default: "" -# description: "Description of entry" # Optional +# - name: my-config # Required +# description: "Description of entry" # Optional, default: "" +# locale: "*::*::*::*" # Optional, default: *::*::*::* +## path: "config/config.yaml" # Optional +# envPrefix: "" # Optional, default: "" +# content: # Optional, defualt: empty map +# key: value grpc: - name: greeter # Required enabled: true # Required @@ -882,22 +861,29 @@ grpc: # allowPartial: false # Optional, default: false # discardUnknown: false # Optional, default: false # noRecvMsgSizeLimit: true # Optional, default: false -# gwMappingFilePaths: [] # Optional -# certEntry: "local-cert" # Optional, default: "", reference of cert entry declared above +# certEntry: my-cert # Optional, default: "", reference of cert entry declared above +# loggerEntry: my-logger # Optional, default: "", reference of cert entry declared above, STDOUT will be used if missing +# eventEntry: my-event # Optional, default: "", reference of cert entry declared above, STDOUT will be used if missing # sw: # enabled: true # Optional, default: false # path: "sw" # Optional, default: "sw" # jsonPath: "" # Optional # headers: ["sw:rk"] # Optional, default: [] +# docs: +# enabled: true # Optional, default: false +# path: "docs" # Optional, default: "docs" +# specPath: "" # Optional +# headers: ["sw:rk"] # Optional, default: [] +# style: # Optional +# theme: "light" # Optional, default: "light" +# debug: false # Optional, default: false # commonService: # enabled: true # Optional, default: false # static: # enabled: true # Optional, default: false -# path: "/rk/v1/static" # Optional, default: /rk/v1/static +# path: "/static" # Optional, default: /static # sourceType: local # Required, options: pkger, local # sourcePath: "." # Required, full path of source directory -# tv: -# enabled: true # Optional, default: false # prom: # enabled: true # Optional, default: false # path: "" # Optional, default: "metrics" @@ -907,33 +893,33 @@ grpc: # remoteAddress: "localhost:9091" # Required # basicAuth: "user:pass" # Optional, default: "" # intervalMs: 10000 # Optional, default: 1000 -# cert: # Optional -# ref: "local-test" # Optional, default: "", reference of cert entry declared above -# logger: -# zapLogger: zap-logger # Optional, default: logger of STDOUT, reference of logger entry declared above -# eventLogger: event-logger # Optional, default: logger of STDOUT, reference of logger entry declared above -# interceptors: -# loggingZap: +# certEntry: my-cert # Optional, default: "", reference of cert entry declared above +# middleware: +# ignore: [""] # Optional, default: [] +# logging: # enabled: true # Optional, default: false -# zapLoggerEncoding: "json" # Optional, default: "console" -# zapLoggerOutputPaths: ["logs/app.log"] # Optional, default: ["stdout"] -# eventLoggerEncoding: "json" # Optional, default: "console" -# eventLoggerOutputPaths: ["logs/event.log"] # Optional, default: ["stdout"] -# metricsProm: +# ignore: [""] # Optional, default: [] +# loggerEncoding: "console" # Optional, default: "console" +# loggerOutputPaths: ["logs/app.log"] # Optional, default: ["stdout"] +# eventEncoding: "console" # Optional, default: "console" +# eventOutputPaths: ["logs/event.log"] # Optional, default: ["stdout"] +# prom: # enabled: true # Optional, default: false +# ignore: [""] # Optional, default: [] # auth: # enabled: true # Optional, default: false +# ignore: [""] # Optional, default: [] # basic: # - "user:pass" # Optional, default: [] -# ignorePrefix: -# - "/rk/v1" # Optional, default: [] # apiKey: # - "keys" # Optional, default: [] # meta: # enabled: true # Optional, default: false +# ignore: [""] # Optional, default: [] # prefix: "rk" # Optional, default: "rk" -# tracingTelemetry: +# trace: # enabled: true # Optional, default: false +# ignore: [""] # Optional, default: [] # exporter: # Optional, default will create a stdout exporter # file: # enabled: true # Optional, default: false @@ -950,31 +936,43 @@ grpc: # password: "" # Optional, default: "" # rateLimit: # enabled: false # Optional, default: false +# ignore: [""] # Optional, default: [] # algorithm: "leakyBucket" # Optional, default: "tokenBucket" # reqPerSec: 100 # Optional, default: 1000000 # paths: -# - path: "/rk.api.v1.RkCommonService/Healthy" # Optional, default: "" +# - path: "/rk/v1/healthy" # Optional, default: "" # reqPerSec: 0 # Optional, default: 1000000 # timeout: # enabled: false # Optional, default: false +# ignore: [""] # Optional, default: [] # timeoutMs: 5000 # Optional, default: 5000 # paths: -# - path: "/rk.api.v1.RkCommonService/Healthy" # Optional, default: "" +# - path: "/rk/v1/healthy" # Optional, default: "" # timeoutMs: 1000 # Optional, default: 5000 # jwt: # enabled: true # Optional, default: false # signingKey: "my-secret" # Required -# ignorePrefix: # Optional, default: [] -# - "/rk/v1/tv" -# - "/sw" -# - "/rk/v1/assets" +# ignore: [""] # Optional, default: [] # signingKeys: # Optional # - "key:value" # signingAlgo: "" # Optional, default: "HS256" # tokenLookup: "header:" # Optional, default: "header:Authorization" # authScheme: "Bearer" # Optional, default: "Bearer" +# secure: +# enabled: true # Optional, default: false +# ignore: [""] # Optional, default: [] +# xssProtection: "" # Optional, default: "1; mode=block" +# contentTypeNosniff: "" # Optional, default: nosniff +# xFrameOptions: "" # Optional, default: SAMEORIGIN +# hstsMaxAge: 0 # Optional, default: 0 +# hstsExcludeSubdomains: false # Optional, default: false +# hstsPreloadEnabled: false # Optional, default: false +# contentSecurityPolicy: "" # Optional, default: "" +# cspReportOnly: false # Optional, default: false +# referrerPolicy: "" # Optional, default: "" # csrf: -# enabled: true +# enabled: true # Optional, default: false +# ignore: [""] # Optional, default: [] # tokenLength: 32 # Optional, default: 32 # tokenLookup: "header:X-CSRF-Token" # Optional, default: "header:X-CSRF-Token" # cookieName: "_csrf" # Optional, default: _csrf @@ -983,18 +981,52 @@ grpc: # cookieMaxAge: 86400 # Optional, default: 86400 # cookieHttpOnly: false # Optional, default: false # cookieSameSite: "default" # Optional, default: "default", options: lax, strict, none, default -# ignorePrefix: [] # Optional, default: [] +# gzip: +# enabled: true # Optional, default: false +# ignore: [""] # Optional, default: [] +# level: bestSpeed # Optional, options: [noCompression, bestSpeed, bestCompression, defaultCompression, huffmanOnly] # cors: # enabled: true # Optional, default: false -# allowOrigins: +# ignore: [""] # Optional, default: [] +# allowOrigins: # Optional, default: [] # - "http://localhost:*" # Optional, default: * # allowCredentials: false # Optional, default: false # allowHeaders: [] # Optional, default: [] # allowMethods: [] # Optional, default: [] # exposeHeaders: [] # Optional, default: [] # maxAge: 0 # Optional, default: 0 + ``` +## Notice of V2 +Master branch of this package is under upgrade which will be released to v2.x.x soon. + +Major changes listed bellow. This will be updated with every commit. + +| Last version | New version | Changes | +|--------------|-------------|--------------------------------------------------------------------------------------------------------------------| +| v1.2.22 | v2 | TV is not supported because of LICENSE issue, new TV web UI will be released soon | +| v1.2.22 | v2 | Remote repositry of ConfigEntry and CertEntry removed | +| v1.2.22 | v2 | Swagger json file and boot.yaml file could be embed into embed.FS and pass to rkentry | +| v1.2.22 | v2 | ZapLoggerEntry -> LoggerEntry | +| v1.2.22 | v2 | EventLoggerEntry -> EventEntry | +| v1.2.22 | v2 | LoggerEntry can be used as zap.Logger since all functions are inherited | +| v1.2.22 | v2 | PromEntry can be used as prometheus.Registry since all functions are inherited | +| v1.2.22 | v2 | rk-common dependency was removed | +| v1.2.22 | v2 | Entries are organized by EntryType instead of EntryName, so user can have same entry name with different EntryType | +| v1.2.22 | v2 | grpc.interceptors -> gin.middleware in boot.yaml | +| v1.2.22 | v2 | grpc.interceptors.loggingZap -> gin.middleware.logging in boot.yaml | +| v1.2.22 | v2 | grpc.interceptors.metricsProm -> gin.middleware.prom in boot.yaml | +| v1.2.22 | v2 | grpc.interceptors.tracingTelemetry -> gin.middleware.trace in boot.yaml | +| v1.2.22 | v2 | All middlewares are now support gin.middleware.xxx.ignorePrefix options in boot.yaml | +| v1.2.22 | v2 | Middlewares support gin.middleware.ignorePrefix in boot.yaml as global scope | +| v1.2.22 | v2 | LoggerEntry, EventEntry, ConfigEntry, CertEntry now support locale to distinguish in differerent environment | +| v1.2.22 | v2 | LoggerEntry, EventEntry, CertEntry can be referenced to gin entry in boot.yaml | +| v1.2.22 | v2 | Healthy API was replaced by Ready and Alive which also provides validation func from user | +| v1.2.22 | v2 | DocsEntry was added into rk-entry | +| v1.2.22 | v2 | rk-entry support utility functions of embed.FS | +| v1.2.22 | v2 | rk-entry bumped up to v2 | + ## Development Status: Stable ## Build instruction diff --git a/boot/error/grpc_error_wrap.go b/boot/error/grpc_error_wrap.go index f68fe9e..bf5b6aa 100644 --- a/boot/error/grpc_error_wrap.go +++ b/boot/error/grpc_error_wrap.go @@ -7,7 +7,7 @@ package rkgrpcerr import ( "fmt" - "github.com/rookie-ninja/rk-grpc/boot/error/gen" + "github.com/rookie-ninja/rk-grpc/v2/boot/error/gen" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) diff --git a/boot/grpc_entry.go b/boot/grpc_entry.go index 1a6fe63..68e81de 100644 --- a/boot/grpc_entry.go +++ b/boot/grpc_entry.go @@ -11,175 +11,161 @@ import ( "crypto/tls" "encoding/json" "fmt" - "github.com/ghodss/yaml" gwruntime "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promhttp" - "github.com/rookie-ninja/rk-common/common" - "github.com/rookie-ninja/rk-entry/entry" - "github.com/rookie-ninja/rk-entry/middleware" - "github.com/rookie-ninja/rk-entry/middleware/auth" - "github.com/rookie-ninja/rk-entry/middleware/cors" - "github.com/rookie-ninja/rk-entry/middleware/csrf" - "github.com/rookie-ninja/rk-entry/middleware/jwt" - "github.com/rookie-ninja/rk-entry/middleware/log" - "github.com/rookie-ninja/rk-entry/middleware/meta" - "github.com/rookie-ninja/rk-entry/middleware/metrics" - "github.com/rookie-ninja/rk-entry/middleware/panic" - "github.com/rookie-ninja/rk-entry/middleware/ratelimit" - "github.com/rookie-ninja/rk-entry/middleware/secure" - "github.com/rookie-ninja/rk-entry/middleware/timeout" - "github.com/rookie-ninja/rk-entry/middleware/tracing" - apiutil "github.com/rookie-ninja/rk-grpc/boot/api/third_party/gen/v1" - "github.com/rookie-ninja/rk-grpc/interceptor/auth" - "github.com/rookie-ninja/rk-grpc/interceptor/cors" - "github.com/rookie-ninja/rk-grpc/interceptor/csrf" - "github.com/rookie-ninja/rk-grpc/interceptor/jwt" - "github.com/rookie-ninja/rk-grpc/interceptor/log/zap" - "github.com/rookie-ninja/rk-grpc/interceptor/meta" - "github.com/rookie-ninja/rk-grpc/interceptor/metrics/prom" - "github.com/rookie-ninja/rk-grpc/interceptor/panic" - "github.com/rookie-ninja/rk-grpc/interceptor/ratelimit" - "github.com/rookie-ninja/rk-grpc/interceptor/secure" - "github.com/rookie-ninja/rk-grpc/interceptor/timeout" - "github.com/rookie-ninja/rk-grpc/interceptor/tracing/telemetry" + "github.com/rookie-ninja/rk-entry/v2/entry" + "github.com/rookie-ninja/rk-entry/v2/middleware" + "github.com/rookie-ninja/rk-entry/v2/middleware/auth" + "github.com/rookie-ninja/rk-entry/v2/middleware/cors" + "github.com/rookie-ninja/rk-entry/v2/middleware/csrf" + "github.com/rookie-ninja/rk-entry/v2/middleware/jwt" + "github.com/rookie-ninja/rk-entry/v2/middleware/log" + "github.com/rookie-ninja/rk-entry/v2/middleware/meta" + "github.com/rookie-ninja/rk-entry/v2/middleware/panic" + "github.com/rookie-ninja/rk-entry/v2/middleware/prom" + "github.com/rookie-ninja/rk-entry/v2/middleware/ratelimit" + "github.com/rookie-ninja/rk-entry/v2/middleware/secure" + "github.com/rookie-ninja/rk-entry/v2/middleware/timeout" + "github.com/rookie-ninja/rk-entry/v2/middleware/tracing" + "github.com/rookie-ninja/rk-grpc/v2/middleware/auth" + "github.com/rookie-ninja/rk-grpc/v2/middleware/cors" + "github.com/rookie-ninja/rk-grpc/v2/middleware/csrf" + "github.com/rookie-ninja/rk-grpc/v2/middleware/jwt" + "github.com/rookie-ninja/rk-grpc/v2/middleware/log" + "github.com/rookie-ninja/rk-grpc/v2/middleware/meta" + "github.com/rookie-ninja/rk-grpc/v2/middleware/panic" + "github.com/rookie-ninja/rk-grpc/v2/middleware/prom" + "github.com/rookie-ninja/rk-grpc/v2/middleware/ratelimit" + "github.com/rookie-ninja/rk-grpc/v2/middleware/secure" + "github.com/rookie-ninja/rk-grpc/v2/middleware/timeout" + "github.com/rookie-ninja/rk-grpc/v2/middleware/tracing" "github.com/rookie-ninja/rk-query" "github.com/soheilhy/cmux" "go.uber.org/zap" "golang.org/x/net/http2" "golang.org/x/net/http2/h2c" - "google.golang.org/genproto/googleapis/api/annotations" - "google.golang.org/genproto/googleapis/rpc/code" "google.golang.org/grpc" - "google.golang.org/grpc/codes" "google.golang.org/grpc/credentials" "google.golang.org/grpc/reflection" - "google.golang.org/protobuf/encoding/protojson" "math" "net" "net/http" - "path" - "reflect" - "runtime" "strconv" "strings" + "sync" ) // This must be declared in order to register registration function into rk context // otherwise, rk-boot won't able to bootstrap grpc entry automatically from boot config file func init() { - rkentry.RegisterEntryRegFunc(RegisterGrpcEntriesWithConfig) + rkentry.RegisterEntryRegFunc(RegisterGrpcEntryYAML) } const ( // GrpcEntryType default entry type - GrpcEntryType = "gRPC" - // GrpcEntryDescription default entry description - GrpcEntryDescription = "Internal RK entry which helps to bootstrap with Grpc framework." + GrpcEntryType = "gRPCEntry" ) // BootConfig Boot config which is for grpc entry. type BootConfig struct { Grpc []struct { - Name string `yaml:"name" json:"name"` - Description string `yaml:"description" json:"description"` - Port uint64 `yaml:"port" json:"port"` - Enabled bool `yaml:"enabled" json:"enabled"` - EnableReflection bool `yaml:"enableReflection" json:"enableReflection"` - NoRecvMsgSizeLimit bool `yaml:"noRecvMsgSizeLimit" json:"noRecvMsgSizeLimit"` - CertEntry string `yaml:"certEntry" json:"certEntry"` - CommonService rkentry.BootConfigCommonService `yaml:"commonService" json:"commonService"` - Sw rkentry.BootConfigSw `yaml:"sw" json:"sw"` - Tv rkentry.BootConfigTv `yaml:"tv" json:"tv"` - Prom rkentry.BootConfigProm `yaml:"prom" json:"prom"` - Static rkentry.BootConfigStaticHandler `yaml:"static" json:"static"` - Proxy BootConfigProxy `yaml:"proxy" json:"proxy"` - EnableRkGwOption bool `yaml:"enableRkGwOption" json:"enableRkGwOption"` - GwOption *gwOption `yaml:"gwOption" json:"gwOption"` - GwMappingFilePaths []string `yaml:"gwMappingFilePaths" json:"gwMappingFilePaths"` - Interceptors struct { - LoggingZap rkmidlog.BootConfig `yaml:"loggingZap" json:"loggingZap"` - MetricsProm rkmidmetrics.BootConfig `yaml:"metricsProm" json:"metricsProm"` - Auth rkmidauth.BootConfig `yaml:"auth" json:"auth"` - Cors rkmidcors.BootConfig `yaml:"cors" json:"cors"` - Secure rkmidsec.BootConfig `yaml:"secure" json:"secure"` - Meta rkmidmeta.BootConfig `yaml:"meta" json:"meta"` - Jwt rkmidjwt.BootConfig `yaml:"jwt" json:"jwt"` - Csrf rkmidcsrf.BootConfig `yaml:"csrf" yaml:"csrf"` - RateLimit rkmidlimit.BootConfig `yaml:"rateLimit" json:"rateLimit"` - Timeout rkmidtimeout.BootConfig `yaml:"timeout" json:"timeout"` - TracingTelemetry rkmidtrace.BootConfig `yaml:"tracingTelemetry" json:"tracingTelemetry"` - } `yaml:"interceptors" json:"interceptors"` - Logger struct { - ZapLogger string `yaml:"zapLogger" json:"zapLogger"` - EventLogger string `yaml:"eventLogger" json:"eventLogger"` - } `yaml:"logger" json:"logger"` + Name string `yaml:"name" json:"name"` + Description string `yaml:"description" json:"description"` + Port uint64 `yaml:"port" json:"port"` + Enabled bool `yaml:"enabled" json:"enabled"` + EnableReflection bool `yaml:"enableReflection" json:"enableReflection"` + NoRecvMsgSizeLimit bool `yaml:"noRecvMsgSizeLimit" json:"noRecvMsgSizeLimit"` + CommonService rkentry.BootCommonService `yaml:"commonService" json:"commonService"` + SW rkentry.BootSW `yaml:"sw" json:"sw"` + Docs rkentry.BootDocs `yaml:"docs" json:"docs"` + Prom rkentry.BootProm `yaml:"prom" json:"prom"` + Static rkentry.BootStaticFileHandler `yaml:"static" json:"static"` + Proxy BootConfigProxy `yaml:"proxy" json:"proxy"` + CertEntry string `yaml:"certEntry" json:"certEntry"` + LoggerEntry string `yaml:"loggerEntry" json:"loggerEntry"` + EventEntry string `yaml:"eventEntry" json:"eventEntry"` + EnableRkGwOption bool `yaml:"enableRkGwOption" json:"enableRkGwOption"` + GwOption *gwOption `yaml:"gwOption" json:"gwOption"` + Middleware struct { + Ignore []string `yaml:"ignore" json:"ignore"` + Logging rkmidlog.BootConfig `yaml:"logging" json:"logging"` + Prom rkmidprom.BootConfig `yaml:"prom" json:"prom"` + Auth rkmidauth.BootConfig `yaml:"auth" json:"auth"` + Cors rkmidcors.BootConfig `yaml:"cors" json:"cors"` + Secure rkmidsec.BootConfig `yaml:"secure" json:"secure"` + Meta rkmidmeta.BootConfig `yaml:"meta" json:"meta"` + Jwt rkmidjwt.BootConfig `yaml:"jwt" json:"jwt"` + Csrf rkmidcsrf.BootConfig `yaml:"csrf" yaml:"csrf"` + RateLimit rkmidlimit.BootConfig `yaml:"rateLimit" json:"rateLimit"` + Timeout rkmidtimeout.BootConfig `yaml:"timeout" json:"timeout"` + Trace rkmidtrace.BootConfig `yaml:"trace" json:"trace"` + } `yaml:"middleware" json:"middleware"` } `yaml:"grpc" json:"grpc"` } // GrpcEntry implements rkentry.Entry interface. type GrpcEntry struct { - EntryName string `json:"entryName" yaml:"entryName"` - EntryType string `json:"entryType" yaml:"entryType"` - EntryDescription string `json:"-" yaml:"-"` - ZapLoggerEntry *rkentry.ZapLoggerEntry `json:"-" yaml:"-"` - EventLoggerEntry *rkentry.EventLoggerEntry `json:"-" yaml:"-"` - Port uint64 `json:"port" yaml:"port"` - TlsConfig *tls.Config `json:"-" yaml:"-"` - TlsConfigInsecure *tls.Config `json:"-" yaml:"-"` + entryName string `json:"-" yaml:"-"` + entryType string `json:"-" yaml:"-"` + entryDescription string `json:"-" yaml:"-"` + LoggerEntry *rkentry.LoggerEntry `json:"-" yaml:"-"` + EventEntry *rkentry.EventEntry `json:"-" yaml:"-"` + Port uint64 `json:"-" yaml:"-"` + TlsConfig *tls.Config `json:"-" yaml:"-"` + TlsConfigInsecure *tls.Config `json:"-" yaml:"-"` // GRPC related Server *grpc.Server `json:"-" yaml:"-"` ServerOpts []grpc.ServerOption `json:"-" yaml:"-"` UnaryInterceptors []grpc.UnaryServerInterceptor `json:"-" yaml:"-"` StreamInterceptors []grpc.StreamServerInterceptor `json:"-" yaml:"-"` GrpcRegF []GrpcRegFunc `json:"-" yaml:"-"` - EnableReflection bool `json:"enableReflection" yaml:"enableReflection"` + EnableReflection bool `json:"-" yaml:"-"` // Gateway related - HttpMux *http.ServeMux `json:"-" yaml:"-"` - HttpServer *http.Server `json:"-" yaml:"-"` - GwMux *gwruntime.ServeMux `json:"-" yaml:"-"` - GwMuxOptions []gwruntime.ServeMuxOption `json:"-" yaml:"-"` - GwRegF []GwRegFunc `json:"-" yaml:"-"` - GwMappingFilePaths []string `json:"gwMappingFilePaths" yaml:"gwMappingFilePaths"` - GwDialOptions []grpc.DialOption `json:"-" yaml:"-"` - GwHttpToGrpcMapping map[string]*gwRule `json:"gwMapping" yaml:"gwMapping"` - gwCorsOptions []rkmidcors.Option `json:"-" yaml:"-"` - gwSecureOptions []rkmidsec.Option `json:"-" yaml:"-"` - gwCsrfOptions []rkmidcsrf.Option `json:"-" yaml:"-"` + HttpMux *http.ServeMux `json:"-" yaml:"-"` + HttpServer *http.Server `json:"-" yaml:"-"` + GwMux *gwruntime.ServeMux `json:"-" yaml:"-"` + GwMuxOptions []gwruntime.ServeMuxOption `json:"-" yaml:"-"` + GwRegF []GwRegFunc `json:"-" yaml:"-"` + GwDialOptions []grpc.DialOption `json:"-" yaml:"-"` + gwCorsOptions []rkmidcors.Option `json:"-" yaml:"-"` + gwSecureOptions []rkmidsec.Option `json:"-" yaml:"-"` + gwCsrfOptions []rkmidcsrf.Option `json:"-" yaml:"-"` // Utility related - SwEntry *rkentry.SwEntry `json:"-" yaml:"-"` - TvEntry *rkentry.TvEntry `json:"-" yaml:"-"` + SWEntry *rkentry.SWEntry `json:"-" yaml:"-"` + DocsEntry *rkentry.DocsEntry `json:"-" yaml:"-"` ProxyEntry *ProxyEntry `json:"-" yaml:"-"` PromEntry *rkentry.PromEntry `json:"-" yaml:"-"` StaticFileEntry *rkentry.StaticFileHandlerEntry `json:"-" yaml:"-"` CommonServiceEntry *rkentry.CommonServiceEntry `json:"-" yaml:"-"` CertEntry *rkentry.CertEntry `json:"-" yaml:"-"` + bootstrapLogOnce sync.Once `json:"-" yaml:"-"` } -// RegisterGrpcEntriesWithConfig Register grpc entries with provided config file (Must YAML file). +// RegisterGrpcEntryYAML Register grpc entries with provided config file (Must YAML file). // // Currently, support two ways to provide config file path. // 1: With function parameters -// 2: With command line flag "--rkboot" described in rkcommon.BootConfigPathFlagKey (Will override function parameter if exists) +// 2: With command line flag "--rkboot" described in rkentry.BootConfigPathFlagKey (Will override function parameter if exists) // Command line flag has high priority which would override function parameter // // Error handling: -// Process will shutdown if any errors occur with rkcommon.ShutdownWithError function +// Process will shutdown if any errors occur with rkentry.ShutdownWithError function // // Override elements in config file: // We learned from HELM source code which would override elements in YAML file with "--set" flag followed with comma // separated key/value pairs. // -// We are using "--rkset" described in rkcommon.BootConfigOverrideKey in order to distinguish with user flags +// We are using "--rkset" described in rkentry.BootConfigOverrideKey in order to distinguish with user flags // Example of common usage: ./binary_file --rkset "key1=val1,key2=val2" // Example of nested map: ./binary_file --rkset "outer.inner.key=val" // Example of slice: ./binary_file --rkset "outer[0].key=val" -func RegisterGrpcEntriesWithConfig(configFilePath string) map[string]rkentry.Entry { +func RegisterGrpcEntryYAML(raw []byte) map[string]rkentry.Entry { res := make(map[string]rkentry.Entry) // 1: decode config map into boot config struct config := &BootConfig{} - rkcommon.UnmarshalBootConfig(configFilePath, config) + rkentry.UnmarshalBootYAML(raw, config) for i := range config.Grpc { element := config.Grpc[i] @@ -187,31 +173,36 @@ func RegisterGrpcEntriesWithConfig(configFilePath string) map[string]rkentry.Ent continue } - zapLoggerEntry := rkentry.GlobalAppCtx.GetZapLoggerEntry(element.Logger.ZapLogger) - if zapLoggerEntry == nil { - zapLoggerEntry = rkentry.GlobalAppCtx.GetZapLoggerEntryDefault() + // logger entry + loggerEntry := rkentry.GlobalAppCtx.GetLoggerEntry(element.LoggerEntry) + if loggerEntry == nil { + loggerEntry = rkentry.LoggerEntryStdout } - eventLoggerEntry := rkentry.GlobalAppCtx.GetEventLoggerEntry(element.Logger.EventLogger) - if eventLoggerEntry == nil { - eventLoggerEntry = rkentry.GlobalAppCtx.GetEventLoggerEntryDefault() + // event entry + eventEntry := rkentry.GlobalAppCtx.GetEventEntry(element.EventEntry) + if eventEntry == nil { + eventEntry = rkentry.EventEntryStdout } - // Register common service entry - commonServiceEntry := rkentry.RegisterCommonServiceEntryWithConfig(&element.CommonService, element.Name, - zapLoggerEntry, eventLoggerEntry) + // cert entry + certEntry := rkentry.GlobalAppCtx.GetCertEntry(element.CertEntry) // Register swagger entry - swEntry := rkentry.RegisterSwEntryWithConfig(&element.Sw, element.Name, element.Port, - zapLoggerEntry, eventLoggerEntry, element.CommonService.Enabled) + swEntry := rkentry.RegisterSWEntry(&element.SW, rkentry.WithNameSWEntry(element.Name)) + + // Register docs entry + docsEntry := rkentry.RegisterDocsEntry(&element.Docs, rkentry.WithNameDocsEntry(element.Name)) + + // Register prometheus entry + promRegistry := prometheus.NewRegistry() + promEntry := rkentry.RegisterPromEntry(&element.Prom, rkentry.WithRegistryPromEntry(promRegistry)) - // Register TV entry - tvEntry := rkentry.RegisterTvEntryWithConfig(&element.Tv, element.Name, - zapLoggerEntry, eventLoggerEntry) + // Register common service entry + commonServiceEntry := rkentry.RegisterCommonServiceEntry(&element.CommonService) // Register static file handler - staticEntry := rkentry.RegisterStaticFileHandlerEntryWithConfig(&element.Static, element.Name, - zapLoggerEntry, eventLoggerEntry) + staticEntry := rkentry.RegisterStaticFileHandlerEntry(&element.Static, rkentry.WithNameStaticFileHandlerEntry(element.Name)) // Did we enabled proxy? var proxy *ProxyEntry @@ -251,16 +242,11 @@ func RegisterGrpcEntriesWithConfig(configFilePath string) map[string]rkentry.Ent proxy = NewProxyEntry( WithNameProxy(element.Name), - WithEventLoggerEntryProxy(eventLoggerEntry), - WithZapLoggerEntryProxy(zapLoggerEntry), + WithEventEntryProxy(eventEntry), + WithLoggerEntryProxy(loggerEntry), WithRuleProxy(NewRule(opts...))) } - // Register prometheus entry - promRegistry := prometheus.NewRegistry() - promEntry := rkentry.RegisterPromEntryWithConfig(&element.Prom, element.Name, element.Port, - zapLoggerEntry, eventLoggerEntry, promRegistry) - var grpcDialOptions = make([]grpc.DialOption, 0) var gwMuxOpts = make([]gwruntime.ServeMuxOption, 0) if element.EnableRkGwOption { @@ -277,22 +263,22 @@ func RegisterGrpcEntriesWithConfig(configFilePath string) map[string]rkentry.Ent entry := RegisterGrpcEntry( WithName(element.Name), WithDescription(element.Description), - WithZapLoggerEntry(zapLoggerEntry), - WithEventLoggerEntry(eventLoggerEntry), + WithLoggerEntry(loggerEntry), + WithEventEntry(eventEntry), WithPort(element.Port), WithGrpcDialOptions(grpcDialOptions...), WithSwEntry(swEntry), - WithTvEntry(tvEntry), + WithDocsEntry(docsEntry), WithPromEntry(promEntry), WithProxyEntry(proxy), WithGwMuxOptions(gwMuxOpts...), WithCommonServiceEntry(commonServiceEntry), WithStaticFileHandlerEntry(staticEntry), + WithCertEntry(certEntry), WithEnableReflection(element.EnableReflection), - WithGwMappingFilePaths(element.GwMappingFilePaths...), WithCertEntry(rkentry.GlobalAppCtx.GetCertEntry(element.CertEntry))) - // Did we disabled message size for receiving? + // Did we disable message size for receiving? if element.NoRecvMsgSizeLimit { entry.ServerOpts = append(entry.ServerOpts, grpc.MaxRecvMsgSize(math.MaxInt64)) entry.GwDialOptions = append(entry.GwDialOptions, grpc.WithDefaultCallOptions( @@ -300,90 +286,100 @@ func RegisterGrpcEntriesWithConfig(configFilePath string) map[string]rkentry.Ent grpc.MaxCallRecvMsgSize(math.MaxInt64))) } + // add global path ignorance + rkmid.AddPathToIgnoreGlobal(element.Middleware.Ignore...) + // logging middleware - if element.Interceptors.LoggingZap.Enabled { + if element.Middleware.Logging.Enabled { entry.AddUnaryInterceptors(rkgrpclog.UnaryServerInterceptor( - rkmidlog.ToOptions(&element.Interceptors.LoggingZap, element.Name, GrpcEntryType, - zapLoggerEntry, eventLoggerEntry)...)) + rkmidlog.ToOptions(&element.Middleware.Logging, element.Name, GrpcEntryType, + loggerEntry, eventEntry)...)) entry.AddStreamInterceptors(rkgrpclog.StreamServerInterceptor( - rkmidlog.ToOptions(&element.Interceptors.LoggingZap, element.Name, GrpcEntryType, - zapLoggerEntry, eventLoggerEntry)...)) + rkmidlog.ToOptions(&element.Middleware.Logging, element.Name, GrpcEntryType, + loggerEntry, eventEntry)...)) } - // did we enabled metrics interceptor? - if element.Interceptors.MetricsProm.Enabled { - entry.AddUnaryInterceptors(rkgrpcmetrics.UnaryServerInterceptor( - rkmidmetrics.ToOptions(&element.Interceptors.MetricsProm, element.Name, GrpcEntryType, - promRegistry, rkmidmetrics.LabelerTypeGrpc)...)) - entry.AddStreamInterceptors(rkgrpcmetrics.StreamServerInterceptor( - rkmidmetrics.ToOptions(&element.Interceptors.MetricsProm, element.Name, GrpcEntryType, - promRegistry, rkmidmetrics.LabelerTypeGrpc)...)) + // Default middleware should be placed after logging middleware, we should make sure interceptors never panic + // insert panic interceptor + entry.UnaryInterceptors = append(entry.UnaryInterceptors, rkgrpcpanic.UnaryServerInterceptor( + rkmidpanic.WithEntryNameAndType(entry.entryName, entry.entryType))) + entry.StreamInterceptors = append(entry.StreamInterceptors, rkgrpcpanic.StreamServerInterceptor( + rkmidpanic.WithEntryNameAndType(entry.entryName, entry.entryType))) + + // did we enable metrics interceptor? + if element.Middleware.Prom.Enabled { + entry.AddUnaryInterceptors(rkgrpcprom.UnaryServerInterceptor( + rkmidprom.ToOptions(&element.Middleware.Prom, element.Name, GrpcEntryType, + promRegistry, rkmidprom.LabelerTypeGrpc)...)) + entry.AddStreamInterceptors(rkgrpcprom.StreamServerInterceptor( + rkmidprom.ToOptions(&element.Middleware.Prom, element.Name, GrpcEntryType, + promRegistry, rkmidprom.LabelerTypeGrpc)...)) } // trace middleware - if element.Interceptors.TracingTelemetry.Enabled { + if element.Middleware.Trace.Enabled { entry.AddUnaryInterceptors(rkgrpctrace.UnaryServerInterceptor( - rkmidtrace.ToOptions(&element.Interceptors.TracingTelemetry, element.Name, GrpcEntryType)...)) + rkmidtrace.ToOptions(&element.Middleware.Trace, element.Name, GrpcEntryType)...)) entry.AddStreamInterceptors(rkgrpctrace.StreamServerInterceptor( - rkmidtrace.ToOptions(&element.Interceptors.TracingTelemetry, element.Name, GrpcEntryType)...)) + rkmidtrace.ToOptions(&element.Middleware.Trace, element.Name, GrpcEntryType)...)) } // jwt middleware - if element.Interceptors.Jwt.Enabled { + if element.Middleware.Jwt.Enabled { entry.AddUnaryInterceptors(rkgrpcjwt.UnaryServerInterceptor( - rkmidjwt.ToOptions(&element.Interceptors.Jwt, element.Name, GrpcEntryType)...)) + rkmidjwt.ToOptions(&element.Middleware.Jwt, element.Name, GrpcEntryType)...)) entry.AddStreamInterceptors(rkgrpcjwt.StreamServerInterceptor( - rkmidjwt.ToOptions(&element.Interceptors.Jwt, element.Name, GrpcEntryType)...)) + rkmidjwt.ToOptions(&element.Middleware.Jwt, element.Name, GrpcEntryType)...)) } // secure middleware - if element.Interceptors.Secure.Enabled { + if element.Middleware.Secure.Enabled { entry.AddGwSecureOptions(rkmidsec.ToOptions( - &element.Interceptors.Secure, element.Name, GrpcEntryType)...) + &element.Middleware.Secure, element.Name, GrpcEntryType)...) } // csrf middleware - if element.Interceptors.Csrf.Enabled { + if element.Middleware.Csrf.Enabled { entry.AddGwCsrfOptions(rkmidcsrf.ToOptions( - &element.Interceptors.Csrf, element.Name, GrpcEntryType)...) + &element.Middleware.Csrf, element.Name, GrpcEntryType)...) } // cors middleware - if element.Interceptors.Cors.Enabled { + if element.Middleware.Cors.Enabled { entry.AddGwCorsOptions(rkmidcors.ToOptions( - &element.Interceptors.Cors, element.Name, GrpcEntryType)...) + &element.Middleware.Cors, element.Name, GrpcEntryType)...) } // meta middleware - if element.Interceptors.Meta.Enabled { + if element.Middleware.Meta.Enabled { entry.AddUnaryInterceptors(rkgrpcmeta.UnaryServerInterceptor( - rkmidmeta.ToOptions(&element.Interceptors.Meta, element.Name, GrpcEntryType)...)) + rkmidmeta.ToOptions(&element.Middleware.Meta, element.Name, GrpcEntryType)...)) entry.AddStreamInterceptors(rkgrpcmeta.StreamServerInterceptor( - rkmidmeta.ToOptions(&element.Interceptors.Meta, element.Name, GrpcEntryType)...)) + rkmidmeta.ToOptions(&element.Middleware.Meta, element.Name, GrpcEntryType)...)) } // auth middleware - if element.Interceptors.Auth.Enabled { + if element.Middleware.Auth.Enabled { entry.AddUnaryInterceptors(rkgrpcauth.UnaryServerInterceptor( - rkmidauth.ToOptions(&element.Interceptors.Auth, element.Name, GrpcEntryType)...)) + rkmidauth.ToOptions(&element.Middleware.Auth, element.Name, GrpcEntryType)...)) entry.AddStreamInterceptors(rkgrpcauth.StreamServerInterceptor( - rkmidauth.ToOptions(&element.Interceptors.Auth, element.Name, GrpcEntryType)...)) + rkmidauth.ToOptions(&element.Middleware.Auth, element.Name, GrpcEntryType)...)) } // timeout middleware - if element.Interceptors.Timeout.Enabled { + if element.Middleware.Timeout.Enabled { entry.AddUnaryInterceptors(rkgrpctimeout.UnaryServerInterceptor( - rkmidtimeout.ToOptions(&element.Interceptors.Timeout, element.Name, GrpcEntryType)...)) + rkmidtimeout.ToOptions(&element.Middleware.Timeout, element.Name, GrpcEntryType)...)) entry.AddStreamInterceptors(rkgrpctimeout.StreamServerInterceptor( - rkmidtimeout.ToOptions(&element.Interceptors.Timeout, element.Name, GrpcEntryType)...)) + rkmidtimeout.ToOptions(&element.Middleware.Timeout, element.Name, GrpcEntryType)...)) } // ratelimit middleware - if element.Interceptors.RateLimit.Enabled { + if element.Middleware.RateLimit.Enabled { entry.AddUnaryInterceptors(rkgrpclimit.UnaryServerInterceptor( - rkmidlimit.ToOptions(&element.Interceptors.RateLimit, element.Name, GrpcEntryType)...)) + rkmidlimit.ToOptions(&element.Middleware.RateLimit, element.Name, GrpcEntryType)...)) entry.AddStreamInterceptors(rkgrpclimit.StreamServerInterceptor( - rkmidlimit.ToOptions(&element.Interceptors.RateLimit, element.Name, GrpcEntryType)...)) + rkmidlimit.ToOptions(&element.Middleware.RateLimit, element.Name, GrpcEntryType)...)) } res[element.Name] = entry @@ -394,10 +390,10 @@ func RegisterGrpcEntriesWithConfig(configFilePath string) map[string]rkentry.Ent // RegisterGrpcEntry Register GrpcEntry with options. func RegisterGrpcEntry(opts ...GrpcEntryOption) *GrpcEntry { entry := &GrpcEntry{ - EntryType: GrpcEntryType, - EntryDescription: GrpcEntryDescription, - ZapLoggerEntry: rkentry.GlobalAppCtx.GetZapLoggerEntryDefault(), - EventLoggerEntry: rkentry.GlobalAppCtx.GetEventLoggerEntryDefault(), + entryType: GrpcEntryType, + entryDescription: "Internal RK entry which helps to bootstrap with Grpc framework.", + LoggerEntry: rkentry.NewLoggerEntryStdout(), + EventEntry: rkentry.NewEventEntryStdout(), Port: 8080, // gRPC related ServerOpts: make([]grpc.ServerOption, 0), @@ -406,59 +402,38 @@ func RegisterGrpcEntry(opts ...GrpcEntryOption) *GrpcEntry { GrpcRegF: make([]GrpcRegFunc, 0), EnableReflection: true, // grpc-gateway related - GwMuxOptions: make([]gwruntime.ServeMuxOption, 0), - GwRegF: make([]GwRegFunc, 0), - GwMappingFilePaths: make([]string, 0), - GwHttpToGrpcMapping: make(map[string]*gwRule), - GwDialOptions: make([]grpc.DialOption, 0), - HttpMux: http.NewServeMux(), - gwCorsOptions: make([]rkmidcors.Option, 0), - gwCsrfOptions: make([]rkmidcsrf.Option, 0), - gwSecureOptions: make([]rkmidsec.Option, 0), + GwMuxOptions: make([]gwruntime.ServeMuxOption, 0), + GwRegF: make([]GwRegFunc, 0), + GwDialOptions: make([]grpc.DialOption, 0), + HttpMux: http.NewServeMux(), + gwCorsOptions: make([]rkmidcors.Option, 0), + gwCsrfOptions: make([]rkmidcsrf.Option, 0), + gwSecureOptions: make([]rkmidsec.Option, 0), } for i := range opts { opts[i](entry) } - entry.UnaryInterceptors = append(entry.UnaryInterceptors, rkgrpcpanic.UnaryServerInterceptor( - rkmidpanic.WithEntryNameAndType(entry.EntryName, entry.EntryType))) - entry.StreamInterceptors = append(entry.StreamInterceptors, rkgrpcpanic.StreamServerInterceptor( - rkmidpanic.WithEntryNameAndType(entry.EntryName, entry.EntryType))) - - if entry.ZapLoggerEntry == nil { - entry.ZapLoggerEntry = rkentry.GlobalAppCtx.GetZapLoggerEntryDefault() - } - - if entry.EventLoggerEntry == nil { - entry.EventLoggerEntry = rkentry.GlobalAppCtx.GetEventLoggerEntryDefault() - } - - if len(entry.EntryName) < 1 { - entry.EntryName = "GrpcServer-" + strconv.FormatUint(entry.Port, 10) + if len(entry.entryName) < 1 { + entry.entryName = "grpc-" + strconv.FormatUint(entry.Port, 10) } // Init TLS config if entry.IsTlsEnabled() { - var cert tls.Certificate - var err error - if cert, err = tls.X509KeyPair(entry.CertEntry.Store.ServerCert, entry.CertEntry.Store.ServerKey); err != nil { - entry.ZapLoggerEntry.GetLogger().Error("Error occurs while parsing TLS.", zap.String("cert", entry.CertEntry.String())) - } else { - entry.TlsConfig = &tls.Config{ - InsecureSkipVerify: true, - Certificates: []tls.Certificate{cert}, - } - entry.TlsConfigInsecure = &tls.Config{ - InsecureSkipVerify: true, - Certificates: []tls.Certificate{cert}, - } + entry.TlsConfig = &tls.Config{ + InsecureSkipVerify: true, + Certificates: []tls.Certificate{*entry.CertEntry.Certificate}, + } + entry.TlsConfigInsecure = &tls.Config{ + InsecureSkipVerify: true, + Certificates: []tls.Certificate{*entry.CertEntry.Certificate}, } } // add entry name and entry type into loki syncer if enabled - entry.ZapLoggerEntry.AddEntryLabelToLokiSyncer(entry) - entry.EventLoggerEntry.AddEntryLabelToLokiSyncer(entry) + entry.LoggerEntry.AddEntryLabelToLokiSyncer(entry) + entry.EventEntry.AddEntryLabelToLokiSyncer(entry) rkentry.GlobalAppCtx.AddEntry(entry) @@ -469,12 +444,12 @@ func RegisterGrpcEntry(opts ...GrpcEntryOption) *GrpcEntry { // GetName Get entry name. func (entry *GrpcEntry) GetName() string { - return entry.EntryName + return entry.entryName } // GetType Get entry type. func (entry *GrpcEntry) GetType() string { - return entry.EntryType + return entry.entryType } // String Stringfy entry. @@ -485,25 +460,21 @@ func (entry *GrpcEntry) String() string { // GetDescription Get description of entry. func (entry *GrpcEntry) GetDescription() string { - return entry.EntryDescription + return entry.entryDescription } // Bootstrap GrpcEntry. func (entry *GrpcEntry) Bootstrap(ctx context.Context) { event, logger := entry.logBasicInfo("Bootstrap", ctx) - // 1: Parse gateway mapping file paths, this will record http to grpc path map into a map - // which will be used for /apis call in CommonServiceEntry - entry.parseGwMapping() - - // 2: Create grpc server - // 2.1: Make unary and stream interceptors into server opts + // 1: Create grpc server + // 1.1: Make unary and stream interceptors into server opts // Important! Do not add tls as options since we already enable tls in listener entry.ServerOpts = append(entry.ServerOpts, grpc.ChainUnaryInterceptor(entry.UnaryInterceptors...), grpc.ChainStreamInterceptor(entry.StreamInterceptors...)) - // 3: Add proxy entry + // 2: Add proxy entry if entry.IsProxyEnabled() { entry.ServerOpts = append(entry.ServerOpts, grpc.ForceServerCodec(Codec()), @@ -512,24 +483,24 @@ func (entry *GrpcEntry) Bootstrap(ctx context.Context) { entry.ProxyEntry.Bootstrap(ctx) } - // 4: Create grpc server + // 3: Create grpc server entry.Server = grpc.NewServer(entry.ServerOpts...) - // 5: Register grpc function into server + // 4: Register grpc function into server for _, regFunc := range entry.GrpcRegF { regFunc(entry.Server) } - // 6: Enable grpc reflection + // 5: Enable grpc reflection if entry.EnableReflection { reflection.Register(entry.Server) } - // 7: Create http server based on grpc gateway - // 7.1: Create gateway mux + // 6: Create http server based on grpc gateway + // 6.1: Create gateway mux entry.GwMux = gwruntime.NewServeMux(entry.GwMuxOptions...) - // 8: Inject insecure option into dial option since grpc call is delegated from gateway which is inner code call + // 7: Inject insecure option into dial option since grpc call is delegated from gateway which is inner code call // and which is safe! if entry.TlsConfig != nil { entry.GwDialOptions = append(entry.GwDialOptions, grpc.WithTransportCredentials(credentials.NewTLS(entry.TlsConfigInsecure))) @@ -537,89 +508,69 @@ func (entry *GrpcEntry) Bootstrap(ctx context.Context) { entry.GwDialOptions = append(entry.GwDialOptions, grpc.WithInsecure()) } - // 9: Register grpc gateway function into GwMux + // 8: Register grpc gateway function into GwMux for i := range entry.GwRegF { err := entry.GwRegF[i](context.Background(), entry.GwMux, "0.0.0.0:"+strconv.FormatUint(entry.Port, 10), entry.GwDialOptions) if err != nil { - entry.EventLoggerEntry.GetEventHelper().FinishWithError(event, err) - rkcommon.ShutdownWithError(err) + entry.EventEntry.FinishWithError(event, err) + rkentry.ShutdownWithError(err) } } - // 10: Make http mux listen on path of / and configure TV, swagger, prometheus path + // 9: Make http mux listen on path of / and configure TV, swagger, prometheus path entry.HttpMux.Handle("/", entry.GwMux) - // 11: swagger - if entry.IsSwEnabled() { - entry.HttpMux.HandleFunc(entry.SwEntry.Path, entry.SwEntry.ConfigFileHandler()) - entry.HttpMux.HandleFunc(entry.SwEntry.AssetsFilePath, entry.SwEntry.AssetsFileHandler()) - - entry.SwEntry.Bootstrap(ctx) + // 10: swagger + if entry.IsSWEnabled() { + entry.HttpMux.HandleFunc(entry.SWEntry.Path, entry.SWEntry.ConfigFileHandler()) + entry.SWEntry.Bootstrap(ctx) } - // 12: tv - if entry.IsTvEnabled() { - entry.HttpMux.HandleFunc(entry.TvEntry.BasePath, entry.TV) - entry.HttpMux.HandleFunc(entry.TvEntry.AssetsFilePath, entry.TvEntry.AssetsFileHandler()) - - entry.TvEntry.Bootstrap(ctx) + // 11: docs + if entry.IsDocsEnabled() { + entry.HttpMux.HandleFunc(entry.DocsEntry.Path, entry.DocsEntry.ConfigFileHandler()) + entry.DocsEntry.Bootstrap(ctx) } - // 13: static file handler + // 12: static file handler if entry.IsStaticFileHandlerEnabled() { entry.HttpMux.HandleFunc(entry.StaticFileEntry.Path, entry.StaticFileEntry.GetFileHandler()) - entry.StaticFileEntry.Bootstrap(ctx) } - // 14: prometheus + // 13: prometheus if entry.IsPromEnabled() { // Register prom path into Router. entry.HttpMux.Handle(entry.PromEntry.Path, promhttp.HandlerFor(entry.PromEntry.Gatherer, promhttp.HandlerOpts{})) - entry.PromEntry.Bootstrap(ctx) } - // 15: common service + // 14: common service if entry.IsCommonServiceEnabled() { - entry.HttpMux.HandleFunc(entry.CommonServiceEntry.HealthyPath, entry.CommonServiceEntry.Healthy) + entry.HttpMux.HandleFunc(entry.CommonServiceEntry.ReadyPath, entry.CommonServiceEntry.Ready) entry.HttpMux.HandleFunc(entry.CommonServiceEntry.GcPath, entry.CommonServiceEntry.Gc) entry.HttpMux.HandleFunc(entry.CommonServiceEntry.InfoPath, entry.CommonServiceEntry.Info) - entry.HttpMux.HandleFunc(entry.CommonServiceEntry.ConfigsPath, entry.CommonServiceEntry.Configs) - entry.HttpMux.HandleFunc(entry.CommonServiceEntry.SysPath, entry.CommonServiceEntry.Sys) - entry.HttpMux.HandleFunc(entry.CommonServiceEntry.EntriesPath, entry.CommonServiceEntry.Entries) - entry.HttpMux.HandleFunc(entry.CommonServiceEntry.CertsPath, entry.CommonServiceEntry.Certs) - entry.HttpMux.HandleFunc(entry.CommonServiceEntry.LogsPath, entry.CommonServiceEntry.Logs) - entry.HttpMux.HandleFunc(entry.CommonServiceEntry.DepsPath, entry.CommonServiceEntry.Deps) - entry.HttpMux.HandleFunc(entry.CommonServiceEntry.LicensePath, entry.CommonServiceEntry.License) - entry.HttpMux.HandleFunc(entry.CommonServiceEntry.ReadmePath, entry.CommonServiceEntry.Readme) - entry.HttpMux.HandleFunc(entry.CommonServiceEntry.GitPath, entry.CommonServiceEntry.Git) - - // swagger doc already generated at rkentry.CommonService - // follow bellow actions - entry.HttpMux.HandleFunc(entry.CommonServiceEntry.ApisPath, entry.Apis) - entry.HttpMux.HandleFunc(entry.CommonServiceEntry.ReqPath, entry.Req) - entry.HttpMux.HandleFunc(entry.CommonServiceEntry.GwErrorMappingPath, entry.GwErrorMapping) + entry.HttpMux.HandleFunc(entry.CommonServiceEntry.AlivePath, entry.CommonServiceEntry.Alive) // Bootstrap common service entry. entry.CommonServiceEntry.Bootstrap(ctx) } - // 16: Create http server + // 15: Create http server var httpHandler http.Handler httpHandler = entry.HttpMux - // 17: If CORS enabled, then add interceptor for grpc-gateway + // 16: If CORS enabled, then add interceptor for grpc-gateway if len(entry.gwCorsOptions) > 0 { httpHandler = rkgrpccors.Interceptor(httpHandler, entry.gwCorsOptions...) } - // 18: If Secure enabled, then add interceptor for grpc-gateway + // 17: If Secure enabled, then add interceptor for grpc-gateway if len(entry.gwSecureOptions) > 0 { httpHandler = rkgrpcsec.Interceptor(httpHandler, entry.gwSecureOptions...) } - // 19: If CSRF enabled, then add interceptor for grpc-gateway + // 18: If CSRF enabled, then add interceptor for grpc-gateway if len(entry.gwCsrfOptions) > 0 { httpHandler = rkgrpccsrf.Interceptor(httpHandler, entry.gwCsrfOptions...) } @@ -629,14 +580,15 @@ func (entry *GrpcEntry) Bootstrap(ctx context.Context) { Handler: h2c.NewHandler(httpHandler, &http2.Server{}), } - // 20: Start http server - entry.EventLoggerEntry.GetEventHelper().Finish(event) + // 19: Start http server go func(*GrpcEntry) { // Create inner listener conn, err := net.Listen("tcp4", ":"+strconv.FormatUint(entry.Port, 10)) if err != nil { - entry.EventLoggerEntry.GetEventHelper().FinishWithError(event, err) - rkcommon.ShutdownWithError(err) + entry.bootstrapLogOnce.Do(func() { + entry.EventEntry.FinishWithError(event, err) + }) + rkentry.ShutdownWithError(err) } // We will use cmux to make grpc and grpc gateway on the same port. @@ -659,9 +611,11 @@ func (entry *GrpcEntry) Bootstrap(ctx context.Context) { // 5: Start listener if err := tcpL.Serve(); err != nil && !strings.Contains(err.Error(), "use of closed network connection") { if err != cmux.ErrListenerClosed { - event.AddErr(err) + entry.bootstrapLogOnce.Do(func() { + entry.EventEntry.FinishWithError(event, err) + }) logger.Error("Error occurs while serving TCP listener.", zap.Error(err)) - rkcommon.ShutdownWithError(err) + rkentry.ShutdownWithError(err) } } } else { @@ -683,26 +637,59 @@ func (entry *GrpcEntry) Bootstrap(ctx context.Context) { // 5: Start listener if err := tlsL.Serve(); err != nil && !strings.Contains(err.Error(), "use of closed network connection") { if err != cmux.ErrListenerClosed { - event.AddErr(err) + entry.bootstrapLogOnce.Do(func() { + entry.EventEntry.FinishWithError(event, err) + }) logger.Error("Error occurs while serving TLS listener.", zap.Error(err)) - rkcommon.ShutdownWithError(err) + rkentry.ShutdownWithError(err) } } } }(entry) + + entry.bootstrapLogOnce.Do(func() { + // Print link and logging message + scheme := "http" + if entry.IsTlsEnabled() { + scheme = "https" + } + + if entry.IsSWEnabled() { + entry.LoggerEntry.Info(fmt.Sprintf("SwaggerEntry: %s://localhost:%d%s", scheme, entry.Port, entry.SWEntry.Path)) + } + if entry.IsDocsEnabled() { + entry.LoggerEntry.Info(fmt.Sprintf("DocsEntry: %s://localhost:%d%s", scheme, entry.Port, entry.DocsEntry.Path)) + } + if entry.IsPromEnabled() { + entry.LoggerEntry.Info(fmt.Sprintf("PromEntry: %s://localhost:%d%s", scheme, entry.Port, entry.PromEntry.Path)) + } + if entry.IsStaticFileHandlerEnabled() { + entry.LoggerEntry.Info(fmt.Sprintf("StaticFileHandlerEntry: %s://localhost:%d%s", scheme, entry.Port, entry.StaticFileEntry.Path)) + } + if entry.IsCommonServiceEnabled() { + handlers := []string{ + fmt.Sprintf("%s://localhost:%d%s", scheme, entry.Port, entry.CommonServiceEntry.ReadyPath), + fmt.Sprintf("%s://localhost:%d%s", scheme, entry.Port, entry.CommonServiceEntry.AlivePath), + fmt.Sprintf("%s://localhost:%d%s", scheme, entry.Port, entry.CommonServiceEntry.InfoPath), + } + + entry.LoggerEntry.Info(fmt.Sprintf("CommonSreviceEntry: %s", strings.Join(handlers, ", "))) + } + entry.EventEntry.Finish(event) + }) } func (entry *GrpcEntry) startGrpcServer(lis net.Listener, logger *zap.Logger) { if err := entry.Server.Serve(lis); err != nil && !strings.Contains(err.Error(), "mux: server closed") { logger.Error("Error occurs while serving grpc-server.", zap.Error(err)) - rkcommon.ShutdownWithError(err) + rkentry.ShutdownWithError(err) } } func (entry *GrpcEntry) startHttpServer(lis net.Listener, logger *zap.Logger) { if err := entry.HttpServer.Serve(lis); err != nil && !strings.Contains(err.Error(), "http: Server closed") { logger.Error("Error occurs while serving gateway-server.", zap.Error(err)) - rkcommon.ShutdownWithError(err) + rkentry.ShutdownWithError(err) } } @@ -715,16 +702,16 @@ func (entry *GrpcEntry) Interrupt(ctx context.Context) { entry.CommonServiceEntry.Interrupt(ctx) } - if entry.IsSwEnabled() { - entry.SwEntry.Interrupt(ctx) + if entry.IsSWEnabled() { + entry.SWEntry.Interrupt(ctx) } if entry.IsStaticFileHandlerEnabled() { entry.StaticFileEntry.Interrupt(ctx) } - if entry.IsTvEnabled() { - entry.TvEntry.Interrupt(ctx) + if entry.IsDocsEnabled() { + entry.DocsEntry.Interrupt(ctx) } if entry.IsPromEnabled() { @@ -742,7 +729,9 @@ func (entry *GrpcEntry) Interrupt(ctx context.Context) { entry.Server.GracefulStop() } - defer entry.EventLoggerEntry.GetEventHelper().Finish(event) + entry.EventEntry.Finish(event) + + rkentry.GlobalAppCtx.RemoveEntry(entry) } // ************* public function ************* @@ -795,64 +784,22 @@ func (entry *GrpcEntry) AddGwDialOptions(opts ...grpc.DialOption) { // MarshalJSON Marshal entry. func (entry *GrpcEntry) MarshalJSON() ([]byte, error) { m := map[string]interface{}{ - "entryName": entry.EntryName, - "entryType": entry.EntryType, - "entryDescription": entry.EntryDescription, - "eventLoggerEntry": entry.EventLoggerEntry.GetName(), - "zapLoggerEntry": entry.ZapLoggerEntry.GetName(), - "port": entry.Port, - "commonServiceEntry": entry.CommonServiceEntry, - "swEntry": entry.SwEntry, - "tvEntry": entry.TvEntry, - "promEntry": entry.PromEntry, - "reflection": entry.EnableReflection, + "name": entry.entryName, + "type": entry.entryType, + "description": entry.entryDescription, + "port": entry.Port, + "swEntry": entry.SWEntry, + "docsEntry": entry.DocsEntry, + "commonServiceEntry": entry.CommonServiceEntry, + "promEntry": entry.PromEntry, + "staticFileHandlerEntry": entry.StaticFileEntry, + "reflection": entry.EnableReflection, } if entry.CertEntry != nil { m["certEntry"] = entry.CertEntry.GetName() } - // Interceptors - interceptorsStr := make([]string, 0) - m["interceptors"] = &interceptorsStr - - for i := range entry.UnaryInterceptors { - element := entry.UnaryInterceptors[i] - interceptorsStr = append(interceptorsStr, - path.Base(runtime.FuncForPC(reflect.ValueOf(element).Pointer()).Name())) - } - - for i := range entry.StreamInterceptors { - element := entry.StreamInterceptors[i] - interceptorsStr = append(interceptorsStr, - path.Base(runtime.FuncForPC(reflect.ValueOf(element).Pointer()).Name())) - } - - serverOptsStr := make([]string, 0) - m["serverOpts"] = &serverOptsStr - - for i := range entry.ServerOpts { - element := entry.ServerOpts[i] - serverOptsStr = append(serverOptsStr, - runtime.FuncForPC(reflect.ValueOf(element).Pointer()).Name()) - } - - grpcRegFStr := make([]string, 0) - m["grpcRegF"] = &grpcRegFStr - for i := range entry.GrpcRegF { - element := entry.GrpcRegF[i] - grpcRegFStr = append(grpcRegFStr, - runtime.FuncForPC(reflect.ValueOf(element).Pointer()).Name()) - } - - gwRegFStr := make([]string, 0) - m["gwRegF"] = &gwRegFStr - for i := range entry.GwRegF { - element := entry.GwRegF[i] - gwRegFStr = append(gwRegFStr, - runtime.FuncForPC(reflect.ValueOf(element).Pointer()).Name()) - } - return json.Marshal(&m) } @@ -863,7 +810,7 @@ func (entry *GrpcEntry) UnmarshalJSON([]byte) error { // IsTlsEnabled Is TLS enabled? func (entry *GrpcEntry) IsTlsEnabled() bool { - return entry.CertEntry != nil && entry.CertEntry.Store != nil + return entry.CertEntry != nil && entry.CertEntry.Certificate != nil } // IsCommonServiceEnabled Is common service enabled? @@ -876,9 +823,9 @@ func (entry *GrpcEntry) IsProxyEnabled() bool { return entry.ProxyEntry != nil } -// IsSwEnabled Is swagger enabled? -func (entry *GrpcEntry) IsSwEnabled() bool { - return entry.SwEntry != nil +// IsSWEnabled Is swagger enabled? +func (entry *GrpcEntry) IsSWEnabled() bool { + return entry.SWEntry != nil } // IsStaticFileHandlerEnabled Is static file handler entry enabled? @@ -886,9 +833,9 @@ func (entry *GrpcEntry) IsStaticFileHandlerEnabled() bool { return entry.StaticFileEntry != nil } -// IsTvEnabled Is tv enabled? -func (entry *GrpcEntry) IsTvEnabled() bool { - return entry.TvEntry != nil +// IsDocsEnabled Is tv enabled? +func (entry *GrpcEntry) IsDocsEnabled() bool { + return entry.DocsEntry != nil } // IsPromEnabled Is prometheus client enabled? @@ -898,7 +845,7 @@ func (entry *GrpcEntry) IsPromEnabled() bool { // Add basic fields into event. func (entry *GrpcEntry) logBasicInfo(operation string, ctx context.Context) (rkquery.Event, *zap.Logger) { - event := entry.EventLoggerEntry.GetEventHelper().Start( + event := entry.EventEntry.Start( operation, rkquery.WithEntryName(entry.GetName()), rkquery.WithEntryType(entry.GetType())) @@ -910,42 +857,41 @@ func (entry *GrpcEntry) logBasicInfo(operation string, ctx context.Context) (rkq } } - logger := entry.ZapLoggerEntry.GetLogger().With( + logger := entry.LoggerEntry.With( zap.String("eventId", event.GetEventId()), - zap.String("entryName", entry.EntryName), - zap.String("entryType", entry.EntryType)) + zap.String("entryName", entry.entryName), + zap.String("entryType", entry.entryType)) // add general info event.AddPayloads( zap.Uint64("grpcPort", entry.Port), zap.Uint64("gwPort", entry.Port)) - // add SwEntry info - if entry.IsSwEnabled() { + // add SWEntry info + if entry.IsSWEnabled() { event.AddPayloads( zap.Bool("swEnabled", true), - zap.String("swPath", entry.SwEntry.Path)) + zap.String("swPath", entry.SWEntry.Path)) } // add CommonServiceEntry info if entry.IsCommonServiceEnabled() { event.AddPayloads( - zap.Bool("commonServiceEnabled", true), - zap.String("commonServicePathPrefix", "/rk/v1/")) + zap.Bool("commonServiceEnabled", true)) } - // add TvEntry info - if entry.IsTvEnabled() { + // add DocsEntry info + if entry.IsDocsEnabled() { event.AddPayloads( - zap.Bool("tvEnabled", true), - zap.String("tvPath", "/rk/v1/tv/")) + zap.Bool("docsEnabled", true), + zap.String("docsPath", entry.DocsEntry.Path)) } // add PromEntry info if entry.IsPromEnabled() { event.AddPayloads( zap.Bool("promEnabled", true), - zap.Uint64("promPort", entry.PromEntry.Port), + zap.Uint64("promPort", entry.Port), zap.String("promPath", entry.PromEntry.Path)) } @@ -973,65 +919,9 @@ func (entry *GrpcEntry) logBasicInfo(operation string, ctx context.Context) (rkq return event, logger } -// Parse gw mapping file -func (entry *GrpcEntry) parseGwMapping() { - // Parse user services. - for i := range entry.GwMappingFilePaths { - filePath := entry.GwMappingFilePaths[i] - - // case 1: read file - bytes := rkcommon.TryReadFile(filePath) - if len(bytes) < 1 { - continue - } - - // case 2: convert json to yaml - jsonContents, err := yaml.YAMLToJSON(bytes) - if err != nil { - entry.ZapLoggerEntry.GetLogger().Warn("Failed to convert grpc api config.", zap.Error(err)) - continue - } - - // case 3: unmarshal - unmarshaler := protojson.UnmarshalOptions{ - DiscardUnknown: true, - } - mapping := &apiutil.GrpcAPIService{} - if err := unmarshaler.Unmarshal(jsonContents, mapping); err != nil { - entry.ZapLoggerEntry.GetLogger().Warn("Failed to parse grpc api config.", zap.Error(err)) - continue - } - - // case 4: iterate rules - rules := mapping.GetHttp().GetRules() - for i := range rules { - element := rules[i] - rule := &gwRule{} - entry.GwHttpToGrpcMapping[element.GetSelector()] = rule - switch element.GetPattern().(type) { - case *annotations.HttpRule_Get: - rule.Pattern = strings.TrimSuffix(element.GetGet(), "/") - rule.Method = "GET" - case *annotations.HttpRule_Put: - rule.Pattern = strings.TrimSuffix(element.GetPut(), "/") - rule.Method = "PUT" - case *annotations.HttpRule_Post: - rule.Pattern = strings.TrimSuffix(element.GetPost(), "/") - rule.Method = "POST" - case *annotations.HttpRule_Delete: - rule.Pattern = strings.TrimSuffix(element.GetDelete(), "/") - rule.Method = "DELETE" - case *annotations.HttpRule_Patch: - rule.Pattern = strings.TrimSuffix(element.GetPatch(), "/") - rule.Method = "PATCH" - } - } - } -} - // GetGrpcEntry Get GrpcEntry from rkentry.GlobalAppCtx. func GetGrpcEntry(name string) *GrpcEntry { - if raw := rkentry.GlobalAppCtx.GetEntry(name); raw != nil { + if raw := rkentry.GlobalAppCtx.GetEntry(GrpcEntryType, name); raw != nil { if res, ok := raw.(*GrpcEntry); ok { return res } @@ -1040,222 +930,8 @@ func GetGrpcEntry(name string) *GrpcEntry { return nil } -// ************** Common service extension ************** - -// Apis Stub -func (entry *GrpcEntry) Apis(w http.ResponseWriter, req *http.Request) { - w.Header().Set("Access-Control-Allow-Origin", "*") - - w.WriteHeader(http.StatusOK) - bytes, _ := json.MarshalIndent(entry.doApis(req), "", " ") - w.Write(bytes) -} - -// Req Stub -func (entry *GrpcEntry) Req(w http.ResponseWriter, req *http.Request) { - w.WriteHeader(http.StatusOK) - - mix := false - if len(req.URL.Query().Get("fromTv")) > 0 { - mix = true - } - - bytes, _ := json.MarshalIndent(entry.doReq(mix), "", " ") - w.Write(bytes) -} - -// GwErrorMapping Get error mapping file contents. -func (entry *GrpcEntry) GwErrorMapping(w http.ResponseWriter, req *http.Request) { - w.WriteHeader(http.StatusOK) - bytes, _ := json.MarshalIndent(entry.doGwErrorMapping(), "", " ") - w.Write(bytes) -} - -// TV Http handler of /rk/v1/tv/*. -func (entry *GrpcEntry) TV(w http.ResponseWriter, req *http.Request) { - logger := entry.ZapLoggerEntry.GetLogger() - - item := strings.TrimSuffix(strings.TrimPrefix(req.URL.Path, "/rk/v1/tv"), "/") - - w.Header().Set("charset", "utf-8") - w.Header().Set("content-type", "text/html") - - switch item { - case "/apis": - buf := entry.TvEntry.ExecuteTemplate("apis", entry.doApis(req), logger) - w.WriteHeader(http.StatusOK) - w.Write(buf.Bytes()) - case "/gwErrorMapping": - buf := entry.TvEntry.ExecuteTemplate("gw-error-mapping", entry.doGwErrorMapping(), logger) - w.WriteHeader(http.StatusOK) - w.Write(buf.Bytes()) - default: - buf := entry.TvEntry.Action(item, logger) - w.WriteHeader(http.StatusOK) - w.Write(buf.Bytes()) - } -} - -func (entry *GrpcEntry) doApis(req *http.Request) *rkentry.ApisResponse { - res := &rkentry.ApisResponse{ - Entries: make([]*rkentry.ApisResponseElement, 0), - } - - for serviceName, serviceInfo := range entry.Server.GetServiceInfo() { - for i := range serviceInfo.Methods { - method := serviceInfo.Methods[i] - - entry := &rkentry.ApisResponseElement{ - EntryName: entry.GetName(), - Method: serviceName, - Path: method.Name, - Gw: entry.getGwMapping(serviceName + "." + method.Name), - Port: entry.Port, - SwUrl: entry.getSwUrl(req), - } - - res.Entries = append(res.Entries, entry) - } - } - - return res -} - -// Helper function for Req call -func (entry *GrpcEntry) doReq(mixGrpcAndRestApi bool) *rkentry.ReqResponse { - metricsSet := rkmidmetrics.GetServerMetricsSet(entry.GetName()) - // case 1: nil metrics set - if metricsSet == nil { - return &rkentry.ReqResponse{ - Metrics: make([]*rkentry.ReqMetricsRK, 0), - } - } - - // case 2: nil vector - vector := metricsSet.GetSummary(rkmidmetrics.MetricsNameElapsedNano) - if vector == nil { - return &rkentry.ReqResponse{ - Metrics: make([]*rkentry.ReqMetricsRK, 0), - } - } - - reqMetrics := rkentry.NewPromMetricsInfo(vector) - - // Fill missed metrics - type innerGrpcInfo struct { - grpcService string - grpcMethod string - } - - apis := make([]*innerGrpcInfo, 0) - - infos := entry.Server.GetServiceInfo() - for serviceName, serviceInfo := range infos { - for j := range serviceInfo.Methods { - apis = append(apis, &innerGrpcInfo{ - grpcService: serviceName, - grpcMethod: serviceInfo.Methods[j].Name, - }) - } - } - - // Add empty metrics into result - for i := range apis { - api := apis[i] - contains := false - // check whether api was in request metrics from prometheus - for j := range reqMetrics { - if reqMetrics[j].GrpcMethod == api.grpcMethod && reqMetrics[j].GrpcService == api.grpcService { - contains = true - } - } - - if !contains { - reqMetrics = append(reqMetrics, &rkentry.ReqMetricsRK{ - GrpcService: apis[i].grpcService, - GrpcMethod: apis[i].grpcMethod, - ResCode: make([]*rkentry.ResCodeRK, 0), - }) - } - } - - // convert restful api to grpc - if mixGrpcAndRestApi { - for i := range reqMetrics { - reqMetrics[i].RestPath = reqMetrics[i].GrpcMethod - reqMetrics[i].RestMethod = reqMetrics[i].GrpcService - } - } - - return &rkentry.ReqResponse{ - Metrics: reqMetrics, - } -} - -// Helper function /gwErrorMapping -func (entry *GrpcEntry) doGwErrorMapping() *rkentry.GwErrorMappingResponse { - res := &rkentry.GwErrorMappingResponse{ - Mapping: make(map[int32]*rkentry.GwErrorMappingResponseElement), - } - - // list grpc errors - for k, v := range code.Code_name { - element := &rkentry.GwErrorMappingResponseElement{ - GrpcCode: k, - GrpcText: v, - } - - restCode := gwruntime.HTTPStatusFromCode(codes.Code(k)) - restText := http.StatusText(restCode) - - element.RestCode = int32(restCode) - element.RestText = restText - - res.Mapping[element.GrpcCode] = element - } - - return res -} - -// Compose gateway related elements based on GwEntry and SwEntry. -func (entry *GrpcEntry) getGwMapping(grpcMethod string) string { - var value *gwRule - var ok bool - if value, ok = entry.GwHttpToGrpcMapping[grpcMethod]; !ok { - return "" - } - - return value.Method + " " + value.Pattern -} - -// Compose swagger URL based on SwEntry. -func (entry *GrpcEntry) getSwUrl(req *http.Request) string { - if entry.IsSwEnabled() { - scheme := "http" - if entry.IsTlsEnabled() { - scheme = "https" - } - - remoteIp, _ := rkmid.GetRemoteAddressSet(req) - - return fmt.Sprintf("%s://%s:%d%s", - scheme, - remoteIp, - entry.SwEntry.Port, - entry.SwEntry.Path) - } - - return "" -} - // *********** Options *********** -// internal usage -type gwRule struct { - Method string `json:"method" yaml:"method"` - Pattern string `json:"pattern" yaml:"pattern"` -} - // GwRegFunc Registration function grpc gateway. type GwRegFunc func(context.Context, *gwruntime.ServeMux, string, []grpc.DialOption) error @@ -1268,28 +944,28 @@ type GrpcEntryOption func(*GrpcEntry) // WithName Provide name. func WithName(name string) GrpcEntryOption { return func(entry *GrpcEntry) { - entry.EntryName = name + entry.entryName = name } } // WithDescription Provide description. func WithDescription(description string) GrpcEntryOption { return func(entry *GrpcEntry) { - entry.EntryDescription = description + entry.entryDescription = description } } -// WithZapLoggerEntry Provide rkentry.ZapLoggerEntry -func WithZapLoggerEntry(logger *rkentry.ZapLoggerEntry) GrpcEntryOption { +// WithLoggerEntry Provide rkentry.LoggerEntry +func WithLoggerEntry(logger *rkentry.LoggerEntry) GrpcEntryOption { return func(entry *GrpcEntry) { - entry.ZapLoggerEntry = logger + entry.LoggerEntry = logger } } -// WithEventLoggerEntry Provide rkentry.EventLoggerEntry -func WithEventLoggerEntry(logger *rkentry.EventLoggerEntry) GrpcEntryOption { +// WithEventEntry Provide rkentry.EventEntry +func WithEventEntry(logger *rkentry.EventEntry) GrpcEntryOption { return func(entry *GrpcEntry) { - entry.EventLoggerEntry = logger + entry.EventEntry = logger } } @@ -1335,7 +1011,7 @@ func WithCertEntry(certEntry *rkentry.CertEntry) GrpcEntryOption { } } -// WithCommonServiceEntry Provide CommonServiceEntry. +// WithCommonServiceEntry Provide rkentry.CommonServiceEntry. func WithCommonServiceEntry(commonService *rkentry.CommonServiceEntry) GrpcEntryOption { return func(entry *GrpcEntry) { entry.CommonServiceEntry = commonService @@ -1349,17 +1025,17 @@ func WithEnableReflection(enabled bool) GrpcEntryOption { } } -// WithSwEntry Provide SwEntry. -func WithSwEntry(sw *rkentry.SwEntry) GrpcEntryOption { +// WithSwEntry Provide rkentry.SWEntry. +func WithSwEntry(sw *rkentry.SWEntry) GrpcEntryOption { return func(entry *GrpcEntry) { - entry.SwEntry = sw + entry.SWEntry = sw } } -// WithTvEntry Provide TvEntry. -func WithTvEntry(tv *rkentry.TvEntry) GrpcEntryOption { +// WithDocsEntry Provide rkentry.DocsEntry. +func WithDocsEntry(docs *rkentry.DocsEntry) GrpcEntryOption { return func(entry *GrpcEntry) { - entry.TvEntry = tv + entry.DocsEntry = docs } } @@ -1370,14 +1046,14 @@ func WithProxyEntry(proxy *ProxyEntry) GrpcEntryOption { } } -// WithPromEntry Provide PromEntry. +// WithPromEntry Provide rkentry.PromEntry. func WithPromEntry(prom *rkentry.PromEntry) GrpcEntryOption { return func(entry *GrpcEntry) { entry.PromEntry = prom } } -// WithStaticFileHandlerEntry provide StaticFileHandlerEntry. +// WithStaticFileHandlerEntry provide rkentry.StaticFileHandlerEntry. func WithStaticFileHandlerEntry(staticEntry *rkentry.StaticFileHandlerEntry) GrpcEntryOption { return func(entry *GrpcEntry) { entry.StaticFileEntry = staticEntry @@ -1404,10 +1080,3 @@ func WithGwMuxOptions(opts ...gwruntime.ServeMuxOption) GrpcEntryOption { entry.GwMuxOptions = append(entry.GwMuxOptions, opts...) } } - -// WithGwMappingFilePaths Provide gateway mapping configuration file paths. -func WithGwMappingFilePaths(paths ...string) GrpcEntryOption { - return func(entry *GrpcEntry) { - entry.GwMappingFilePaths = append(entry.GwMappingFilePaths, paths...) - } -} diff --git a/boot/grpc_entry_test.go b/boot/grpc_entry_test.go index 89ddbe7..527b82f 100644 --- a/boot/grpc_entry_test.go +++ b/boot/grpc_entry_test.go @@ -1,3 +1,4 @@ +//go:build !race // +build !race // Copyright (c) 2021 rookie-ninja @@ -10,21 +11,19 @@ import ( "context" "crypto/rand" "crypto/rsa" + "crypto/tls" "crypto/x509" "crypto/x509/pkix" - "encoding/json" "encoding/pem" "errors" "fmt" gwruntime "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" - "github.com/rookie-ninja/rk-entry/entry" - "github.com/rookie-ninja/rk-entry/middleware/cors" - "github.com/rookie-ninja/rk-entry/middleware/csrf" - rkmidmetrics "github.com/rookie-ninja/rk-entry/middleware/metrics" - "github.com/rookie-ninja/rk-entry/middleware/secure" - testdata "github.com/rookie-ninja/rk-grpc/example/interceptor/proto/testdata" - "github.com/rookie-ninja/rk-grpc/interceptor/meta" - rkgrpcmetrics "github.com/rookie-ninja/rk-grpc/interceptor/metrics/prom" + "github.com/rookie-ninja/rk-entry/v2/entry" + "github.com/rookie-ninja/rk-entry/v2/middleware/cors" + "github.com/rookie-ninja/rk-entry/v2/middleware/csrf" + "github.com/rookie-ninja/rk-entry/v2/middleware/secure" + testdata "github.com/rookie-ninja/rk-grpc/v2/example/middleware/proto/testdata" + "github.com/rookie-ninja/rk-grpc/v2/middleware/meta" "github.com/stretchr/testify/assert" "go.uber.org/zap" "google.golang.org/grpc" @@ -32,7 +31,6 @@ import ( "math/big" "net" "net/http" - "net/http/httptest" "os" "path" "strconv" @@ -40,66 +38,14 @@ import ( "time" ) -//func TestRegisterGrpcEntry_WithoutOptions(t *testing.T) { -// entry := RegisterGrpcEntry() -// -// assert.NotNil(t, entry) -// -// entryDefaultName := "GrpcServer-" + strconv.FormatUint(entry.Port, 10) -// assert.Equal(t, entry, rkentry.GlobalAppCtx.GetEntry(entryDefaultName)) -// assert.True(t, rkentry.GlobalAppCtx.RemoveEntry(entryDefaultName)) -// -// assert.Len(t, entry.UnaryInterceptors, 1) -// assert.Len(t, entry.StreamInterceptors, 1) -// assert.NotNil(t, entry.ZapLoggerEntry) -// assert.NotNil(t, entry.EventLoggerEntry) -//} -// -//func TestRegisterGrpcEntry_HappyCase(t *testing.T) { -// entryName := "ut-grpc-entry" -// zapLoggerEntry := rkentry.NoopZapLoggerEntry() -// eventLoggerEntry := rkentry.NoopEventLoggerEntry() -// grpcPort := uint64(2020) -// serverOpt := grpc.InitialWindowSize(1) -// loggingInterUnary := rkgrpclog.UnaryServerInterceptor() -// loggingInterStream := rkgrpclog.StreamServerInterceptor() -// certEntry := &rkentry.CertEntry{} -// commonServiceEntry := RegisterCommonServiceEntry() -// -// entry := RegisterGrpcEntry( -// WithNameGrpc(entryName), -// WithZapLoggerEntryGrpc(zapLoggerEntry), -// WithEventLoggerEntryGrpc(eventLoggerEntry), -// WithPortGrpc(grpcPort), -// WithServerOptionsGrpc(serverOpt), -// WithUnaryInterceptorsGrpc(loggingInterUnary), -// WithStreamInterceptorsGrpc(loggingInterStream), -// WithCertEntryGrpc(certEntry), -// WithCommonServiceEntryGrpc(commonServiceEntry)) -// -// assert.NotNil(t, entry) -// -// assert.Equal(t, entry, rkentry.GlobalAppCtx.GetEntry(entryName)) -// assert.Equal(t, zapLoggerEntry, entry.ZapLoggerEntry) -// assert.Equal(t, eventLoggerEntry, entry.EventLoggerEntry) -// assert.Equal(t, grpcPort, entry.Port) -// assert.Len(t, entry.ServerOpts, 1) -// assert.Len(t, entry.UnaryInterceptors, 2) -// assert.Len(t, entry.StreamInterceptors, 2) -// assert.Equal(t, certEntry, entry.CertEntry) -// assert.Equal(t, commonServiceEntry, entry.CommonServiceEntry) -// -// assert.True(t, rkentry.GlobalAppCtx.RemoveEntry(entryName)) -//} -// func TestRegisterGrpcEntriesWithConfig_HappyCase(t *testing.T) { defer assertNotPanic(t) configFile := ` --- -zapLogger: +logger: - name: zap-logger -eventLogger: +event: - name: event-logger grpc: - name: greeter @@ -121,7 +67,7 @@ grpc: unmarshal: allowPartial: true discardUnknown: true - tv: + docs: enabled: true # Optional, default: false sw: enabled: true # Optional, default: false @@ -150,13 +96,12 @@ grpc: intervalMS: 1000 # Optional, default: 1000 cert: ref: "local-cert" # Optional, default: "", reference of cert entry declared above - logger: - zapLogger: zap-logger # Optional, default: logger of STDOUT, reference of logger entry declared above - eventLogger: event-logger # Optional, default: logger of STDOUT, reference of logger entry declared above - interceptors: - loggingZap: + loggerEntry: zap-logger # Optional, default: logger of STDOUT, reference of logger entry declared above + eventEntry: event-logger # Optional, default: logger of STDOUT, reference of logger entry declared above + middleware: + logging: enabled: true # Optional, default: false - metricsProm: + prom: enabled: true # Optional, default: false auth: enabled: true # Optional, default: false @@ -164,7 +109,7 @@ grpc: - "user:pass" # Optional, default: "" meta: enabled: true # Optional, default: false - tracingTelemetry: + trace: enabled: true # Optional, default: false exporter: # Optional, default will create a stdout exporter file: @@ -188,24 +133,21 @@ grpc: enabled: true ` - // Create bootstrap config file at ut temp dir - configFilePath := createFileAtTestTempDir(t, configFile) - // Register internal entries - rkentry.RegisterInternalEntriesFromConfig(configFilePath) + rkentry.BootstrapPreloadEntryYAML([]byte(configFile)) // Register entries with config file - entries := RegisterGrpcEntriesWithConfig(configFilePath) + entries := RegisterGrpcEntryYAML([]byte(configFile)) assert.Len(t, entries, 1) entry := entries["greeter"].(*GrpcEntry) - assert.Equal(t, "zap-logger", entry.ZapLoggerEntry.GetName()) - assert.Equal(t, "event-logger", entry.EventLoggerEntry.GetName()) + assert.Equal(t, "zap-logger", entry.LoggerEntry.GetName()) + assert.Equal(t, "event-logger", entry.EventEntry.GetName()) assert.Equal(t, "greeter", entry.GetName()) assert.Equal(t, uint64(1949), entry.Port) assert.NotNil(t, entry.CommonServiceEntry) - assert.NotNil(t, entry.SwEntry) - assert.NotNil(t, entry.TvEntry) + assert.NotNil(t, entry.SWEntry) + assert.NotNil(t, entry.DocsEntry) assert.NotNil(t, entry.PromEntry) assert.True(t, len(entry.UnaryInterceptors) > 0) @@ -232,54 +174,58 @@ func TestRegisterGrpcEntry(t *testing.T) { assert.False(t, entry.IsTlsEnabled()) assert.False(t, entry.IsCommonServiceEnabled()) assert.False(t, entry.IsProxyEnabled()) - assert.False(t, entry.IsSwEnabled()) + assert.False(t, entry.IsSWEnabled()) assert.False(t, entry.IsStaticFileHandlerEnabled()) - assert.False(t, entry.IsTvEnabled()) + assert.False(t, entry.IsDocsEnabled()) assert.False(t, entry.IsPromEnabled()) + certEntry := rkentry.RegisterCertEntry(&rkentry.BootCert{ + Cert: []*rkentry.BootCertE{ + { + Name: "ut-cert", + }, + }, + })[0] + certificate, _ := tls.X509KeyPair(generateCerts()) + certEntry.Certificate = &certificate + // with options, invalid tls entry = RegisterGrpcEntry( WithName("name"), WithDescription("desc"), - WithZapLoggerEntry(nil), - WithEventLoggerEntry(nil), + WithLoggerEntry(rkentry.LoggerEntryNoop), + WithEventEntry(rkentry.EventEntryNoop), WithPort(8080), WithServerOptions(grpc.MaxRecvMsgSize(10)), WithUnaryInterceptors(rkgrpcmeta.UnaryServerInterceptor()), WithStreamInterceptors(rkgrpcmeta.StreamServerInterceptor()), WithGrpcRegF(func(server *grpc.Server) {}), - WithCertEntry(rkentry.RegisterCertEntry()), - WithCommonServiceEntry(rkentry.RegisterCommonServiceEntry()), + WithCertEntry(certEntry), + WithCommonServiceEntry(rkentry.RegisterCommonServiceEntry(&rkentry.BootCommonService{ + Enabled: true, + })), WithEnableReflection(true), - WithSwEntry(rkentry.RegisterSwEntry()), - WithTvEntry(rkentry.RegisterTvEntry()), + WithSwEntry(rkentry.RegisterSWEntry(&rkentry.BootSW{ + Enabled: true, + })), WithProxyEntry(NewProxyEntry()), - WithPromEntry(rkentry.RegisterPromEntry()), - WithStaticFileHandlerEntry(rkentry.RegisterStaticFileHandlerEntry()), + WithPromEntry(rkentry.RegisterPromEntry(&rkentry.BootProm{ + Enabled: true, + })), + WithStaticFileHandlerEntry(rkentry.RegisterStaticFileHandlerEntry(&rkentry.BootStaticFileHandler{ + Enabled: true, + })), WithGwRegF(func(ctx context.Context, mux *gwruntime.ServeMux, s string, options []grpc.DialOption) error { return nil }), WithGrpcDialOptions(grpc.WithBlock()), WithGwMuxOptions(gwruntime.WithDisablePathLengthFallback()), - WithGwMappingFilePaths(""), ) assert.True(t, entry.IsCommonServiceEnabled()) assert.True(t, entry.IsProxyEnabled()) - assert.True(t, entry.IsSwEnabled()) + assert.True(t, entry.IsSWEnabled()) assert.True(t, entry.IsStaticFileHandlerEnabled()) - assert.True(t, entry.IsTvEnabled()) assert.True(t, entry.IsPromEnabled()) - assert.NotNil(t, entry) - - // with valid tls - certEntry := rkentry.RegisterCertEntry() - certEntry.Store.ServerCert, certEntry.Store.ServerKey = generateCerts() - entry = RegisterGrpcEntry( - WithName("name"), - WithPort(8080), - WithCertEntry(certEntry), - ) - assert.True(t, entry.IsTlsEnabled()) assert.NotNil(t, entry) } @@ -353,11 +299,17 @@ func TestRegisterGrpcEntry_EntryFunc(t *testing.T) { entry.Interrupt(context.TODO()) // case 4, 5, 6, 7, 8 - certEntry := rkentry.RegisterCertEntry() - certEntry.Store.ServerCert, certEntry.Store.ServerKey = generateCerts() + certEntry := rkentry.RegisterCertEntry(&rkentry.BootCert{ + Cert: []*rkentry.BootCertE{ + { + Name: "ut-cert", + }, + }, + }) + certEntry[0].Bootstrap(context.TODO()) entry = RegisterGrpcEntry( WithServerOptions(grpc.MaxRecvMsgSize(10)), - WithCertEntry(certEntry)) + WithCertEntry(certEntry[0])) entry.Bootstrap(context.TODO()) assert.NotEmpty(t, entry.String()) time.Sleep(1 * time.Second) @@ -374,11 +326,18 @@ func TestRegisterGrpcEntry_EntryFunc(t *testing.T) { // case 11, 12, 13, 14, 15, 16, 17, 18, 19 entry = RegisterGrpcEntry( - WithSwEntry(rkentry.RegisterSwEntry()), - WithTvEntry(rkentry.RegisterTvEntry()), - WithStaticFileHandlerEntry(rkentry.RegisterStaticFileHandlerEntry()), - WithPromEntry(rkentry.RegisterPromEntry()), - WithCommonServiceEntry(rkentry.RegisterCommonServiceEntry())) + WithSwEntry(rkentry.RegisterSWEntry(&rkentry.BootSW{ + Enabled: true, + })), + WithStaticFileHandlerEntry(rkentry.RegisterStaticFileHandlerEntry(&rkentry.BootStaticFileHandler{ + Enabled: true, + })), + WithPromEntry(rkentry.RegisterPromEntry(&rkentry.BootProm{ + Enabled: true, + })), + WithCommonServiceEntry(rkentry.RegisterCommonServiceEntry(&rkentry.BootCommonService{ + Enabled: true, + }))) corsOpt := rkmidcors.WithEntryNameAndType("", "") csrfOpt := rkmidcsrf.WithEntryNameAndType("", "") secOpt := rkmidsec.WithEntryNameAndType("", "") @@ -415,69 +374,6 @@ func TestGrpcEntry_startHttpServer_Panic(t *testing.T) { defer lis.Close() } -func TestGetGrpcEntry_parseGwMapping(t *testing.T) { - entry := RegisterGrpcEntry() - - // case 1: failed to read file - entry.GwMappingFilePaths = []string{""} - entry.parseGwMapping() - assert.Empty(t, entry.GwHttpToGrpcMapping) - - // case 2: invalid yaml format - invalidYamlStr := `invalid yaml` - entry.GwMappingFilePaths = []string{createFileAtTestTempDir(t, invalidYamlStr)} - entry.parseGwMapping() - assert.Empty(t, entry.GwHttpToGrpcMapping) - - // case 3: failed to unmarshal - validYamlStr := ` ---- -key: value -` - entry.GwMappingFilePaths = []string{createFileAtTestTempDir(t, validYamlStr)} - entry.parseGwMapping() - entry.parseGwMapping() - assert.Empty(t, entry.GwHttpToGrpcMapping) - - // case 4: happy case - validYamlStr = ` ---- -type: google.api.Service -config_version: 3 -http: - rules: - - selector: api.v1.Greeter.Get - get: /v1/get - - selector: api.v1.Greeter.Put - put: /v1/put - - selector: api.v1.Greeter.Post - post: /v1/post - - selector: api.v1.Greeter.Delete - delete: /v1/delete - - selector: api.v1.Greeter.Patch - patch: /v1/patch -` - entry.GwMappingFilePaths = []string{createFileAtTestTempDir(t, validYamlStr)} - entry.parseGwMapping() - assert.Equal(t, "/v1/get", entry.GwHttpToGrpcMapping["api.v1.Greeter.Get"].Pattern) - assert.Equal(t, "GET", entry.GwHttpToGrpcMapping["api.v1.Greeter.Get"].Method) - - assert.Equal(t, "/v1/put", entry.GwHttpToGrpcMapping["api.v1.Greeter.Put"].Pattern) - assert.Equal(t, "PUT", entry.GwHttpToGrpcMapping["api.v1.Greeter.Put"].Method) - - assert.Equal(t, "/v1/post", entry.GwHttpToGrpcMapping["api.v1.Greeter.Post"].Pattern) - assert.Equal(t, "POST", entry.GwHttpToGrpcMapping["api.v1.Greeter.Post"].Method) - - assert.Equal(t, "/v1/delete", entry.GwHttpToGrpcMapping["api.v1.Greeter.Delete"].Pattern) - assert.Equal(t, "DELETE", entry.GwHttpToGrpcMapping["api.v1.Greeter.Delete"].Method) - - assert.Equal(t, "/v1/patch", entry.GwHttpToGrpcMapping["api.v1.Greeter.Patch"].Pattern) - assert.Equal(t, "PATCH", entry.GwHttpToGrpcMapping["api.v1.Greeter.Patch"].Method) - - assert.NotEmpty(t, entry.GwHttpToGrpcMapping) - -} - func TestGetGrpcEntry(t *testing.T) { RegisterGrpcEntry(WithName("ut")) @@ -485,135 +381,6 @@ func TestGetGrpcEntry(t *testing.T) { assert.Nil(t, GetGrpcEntry("not-exist")) } -func TestGrpcEntry_Apis(t *testing.T) { - entry := RegisterGrpcEntry() - entry.Server = grpc.NewServer() - - // without apis - w := httptest.NewRecorder() - req := httptest.NewRequest(http.MethodGet, "/ut", nil) - entry.Apis(w, req) - - apisResponse := &rkentry.ApisResponse{} - json.Unmarshal(w.Body.Bytes(), apisResponse) - assert.Empty(t, apisResponse.Entries) - - // with apis - w = httptest.NewRecorder() - req = httptest.NewRequest(http.MethodGet, "/ut", nil) - testdata.RegisterGreeterServer(entry.Server, &GreeterServer{}) - entry.Apis(w, req) - - apisResponse = &rkentry.ApisResponse{} - json.Unmarshal(w.Body.Bytes(), apisResponse) - assert.NotEmpty(t, apisResponse.Entries) -} - -func TestGrpcEntry_Req(t *testing.T) { - // without metrics set - entry := RegisterGrpcEntry() - w := httptest.NewRecorder() - req := httptest.NewRequest(http.MethodGet, "/ut", nil) - entry.Req(w, req) - - reqResponse := &rkentry.ReqResponse{} - json.Unmarshal(w.Body.Bytes(), reqResponse) - assert.Empty(t, reqResponse.Metrics) - - // with metrics - entry = RegisterGrpcEntry( - WithName("ut"), - WithPromEntry(rkentry.RegisterPromEntry()), - WithUnaryInterceptors(rkgrpcmetrics.UnaryServerInterceptor( - rkmidmetrics.WithEntryNameAndType("ut", GrpcEntryType)))) - entry.Server = grpc.NewServer() - testdata.RegisterGreeterServer(entry.Server, &GreeterServer{}) - - w = httptest.NewRecorder() - req = httptest.NewRequest(http.MethodGet, "/ut", nil) - entry.Req(w, req) - - reqResponse = &rkentry.ReqResponse{} - json.Unmarshal(w.Body.Bytes(), reqResponse) - assert.NotEmpty(t, reqResponse.Metrics) - - // with metrics from tv - entry = RegisterGrpcEntry( - WithName("ut"), - WithPromEntry(rkentry.RegisterPromEntry()), - WithUnaryInterceptors(rkgrpcmetrics.UnaryServerInterceptor( - rkmidmetrics.WithEntryNameAndType("ut", GrpcEntryType)))) - entry.Server = grpc.NewServer() - testdata.RegisterGreeterServer(entry.Server, &GreeterServer{}) - - w = httptest.NewRecorder() - req = httptest.NewRequest(http.MethodGet, "/ut", nil) - req.URL.RawQuery = "fromTv=true" - entry.Req(w, req) - - reqResponse = &rkentry.ReqResponse{} - json.Unmarshal(w.Body.Bytes(), reqResponse) - assert.NotEmpty(t, reqResponse.Metrics) - assert.Equal(t, reqResponse.Metrics[0].GrpcService, reqResponse.Metrics[0].RestMethod) - assert.Equal(t, reqResponse.Metrics[0].GrpcMethod, reqResponse.Metrics[0].RestPath) -} - -func TestGrpcEntry_GwErrorMapping(t *testing.T) { - entry := RegisterGrpcEntry() - w := httptest.NewRecorder() - req := httptest.NewRequest(http.MethodGet, "/ut", nil) - entry.GwErrorMapping(w, req) - - res := &rkentry.GwErrorMappingResponse{} - json.Unmarshal(w.Body.Bytes(), res) - assert.NotEmpty(t, res.Mapping) -} - -func TestGrpcEntry_TV(t *testing.T) { - // happy case - entry := RegisterGrpcEntry() - tvEntry := rkentry.RegisterTvEntry() - tvEntry.Bootstrap(context.TODO()) - entry.TvEntry = tvEntry - - entry.Server = grpc.NewServer() - testdata.RegisterGreeterServer(entry.Server, &GreeterServer{}) - - // 1: /apis - w := httptest.NewRecorder() - req := httptest.NewRequest(http.MethodGet, "/rk/v1/tv/apis", nil) - - entry.TV(w, req) - assert.NotEmpty(t, w.Body.String()) - - // 2: /gwErrorMapping - w = httptest.NewRecorder() - req = httptest.NewRequest(http.MethodGet, "/rk/v1/tv/gwErrorMapping", nil) - - entry.TV(w, req) - assert.NotEmpty(t, w.Body.String()) - - // 3: /env - w = httptest.NewRecorder() - req = httptest.NewRequest(http.MethodGet, "/rk/v1/tv/env", nil) - - entry.TV(w, req) - assert.NotEmpty(t, w.Body.String()) -} - -func TestGrpcEntry_getSwUrl(t *testing.T) { - // without swagger entry enabled - entry := RegisterGrpcEntry() - assert.Empty(t, entry.getSwUrl(nil)) - - // with SwEntry and CertEntry - entry.SwEntry = rkentry.RegisterSwEntry() - certEntry := rkentry.RegisterCertEntry() - certEntry.Store.ServerCert, certEntry.Store.ServerKey = generateCerts() - entry.CertEntry = certEntry - assert.NotEmpty(t, entry.getSwUrl(httptest.NewRequest(http.MethodGet, "/", nil))) -} - // GreeterServer Implementation of GreeterServer. type GreeterServer struct{} diff --git a/boot/gw_server_options.go b/boot/gw_server_options.go index 267cb59..3a4a570 100644 --- a/boot/gw_server_options.go +++ b/boot/gw_server_options.go @@ -10,7 +10,7 @@ import ( "encoding/json" "fmt" "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" - "github.com/rookie-ninja/rk-common/error" + "github.com/rookie-ninja/rk-entry/v2/error" "google.golang.org/grpc/grpclog" "google.golang.org/grpc/metadata" "google.golang.org/grpc/status" @@ -198,11 +198,8 @@ func HttpErrorHandler(ctx context.Context, mux *runtime.ServeMux, marshaler runt contentType := marshaler.ContentType(pb) w.Header().Set("Content-Type", contentType) - resp := rkerror.New() - resp.Err.Code = runtime.HTTPStatusFromCode(s.Code()) - resp.Err.Message = s.Message() + resp := rkerror.New(runtime.HTTPStatusFromCode(s.Code()), s.Message(), s.Details()...) resp.Err.Status = http.StatusText(resp.Err.Code) - resp.Err.Details = append(resp.Err.Details, s.Details()...) md, _ := runtime.ServerMetadataFromContext(ctx) diff --git a/boot/proxy_entry.go b/boot/proxy_entry.go index 1640d24..1361027 100644 --- a/boot/proxy_entry.go +++ b/boot/proxy_entry.go @@ -11,9 +11,9 @@ import ( "context" "encoding/json" "github.com/golang/protobuf/proto" - "github.com/rookie-ninja/rk-common/common" - "github.com/rookie-ninja/rk-entry/entry" - "github.com/rookie-ninja/rk-grpc/interceptor" + "github.com/rookie-ninja/rk-entry/v2/entry" + "github.com/rookie-ninja/rk-entry/v2/middleware" + "github.com/rookie-ninja/rk-grpc/v2/middleware" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/encoding" @@ -31,8 +31,6 @@ const ( ProxyEntryType = "ProxyEntry" // ProxyEntryNameDefault default entry name ProxyEntryNameDefault = "ProxyDefault" - // ProxyEntryDescription default entry description - ProxyEntryDescription = "Internal RK entry which implements proxy with Grpc framework." // HeaderBased header based proxy pattern HeaderBased = "headerBased" // PathBased grpc path(method) based proxy pattern @@ -129,7 +127,7 @@ type IpPattern struct { // Incoming remote IP should match user defined CIDR. func (r *rule) matchIpPattern(ctx context.Context) (bool, string) { - remoteIp, _, _ := rkgrpcinter.GetRemoteAddressSet(ctx) + remoteIp, _, _ := rkgrpcmid.GetRemoteAddressSet(ctx) // iterate pattern slice for i := range r.IpPattern { @@ -258,35 +256,35 @@ func (r *rule) GetDirector() Director { } type ProxyEntry struct { - EntryName string `json:"entryName" yaml:"entryName"` - EntryType string `json:"entryType" yaml:"entryType"` - EntryDescription string `json:"-" yaml:"-"` - ZapLoggerEntry *rkentry.ZapLoggerEntry `json:"-" yaml:"-"` - EventLoggerEntry *rkentry.EventLoggerEntry `json:"-" yaml:"-"` - r *rule `json:"-" yaml:"-"` + entryName string `json:"-" yaml:"-"` + entryType string `json:"-" yaml:"-"` + entryDescription string `json:"-" yaml:"-"` + LoggerEntry *rkentry.LoggerEntry `json:"-" yaml:"-"` + EventEntry *rkentry.EventEntry `json:"-" yaml:"-"` + r *rule `json:"-" yaml:"-"` } // ProxyEntryOption Proxy entry option used while initializing proxy entry via code type ProxyEntryOption func(*ProxyEntry) -// WithNameProm Name of proxy entry +// WithNameProxy Name of proxy entry func WithNameProxy(name string) ProxyEntryOption { return func(entry *ProxyEntry) { - entry.EntryName = name + entry.entryName = name } } -// WithZapLoggerEntryProxy rkentry.ZapLoggerEntry of proxy entry -func WithZapLoggerEntryProxy(zapLoggerEntry *rkentry.ZapLoggerEntry) ProxyEntryOption { +// WithLoggerEntryProxy rkentry.LoggerEntry of proxy entry +func WithLoggerEntryProxy(loggerEntry *rkentry.LoggerEntry) ProxyEntryOption { return func(entry *ProxyEntry) { - entry.ZapLoggerEntry = zapLoggerEntry + entry.LoggerEntry = loggerEntry } } -// WithEventLoggerEntryProxy rkentry.EventLoggerEntry of proxy entry -func WithEventLoggerEntryProxy(eventLoggerEntry *rkentry.EventLoggerEntry) ProxyEntryOption { +// WithEventEntryProxy rkentry.EventEntry of proxy entry +func WithEventEntryProxy(eventEntry *rkentry.EventEntry) ProxyEntryOption { return func(entry *ProxyEntry) { - entry.EventLoggerEntry = eventLoggerEntry + entry.EventEntry = eventEntry } } @@ -300,23 +298,23 @@ func WithRuleProxy(r *rule) ProxyEntryOption { // NewProxyEntry Create a proxy entry with options func NewProxyEntry(opts ...ProxyEntryOption) *ProxyEntry { entry := &ProxyEntry{ - EventLoggerEntry: rkentry.GlobalAppCtx.GetEventLoggerEntryDefault(), - ZapLoggerEntry: rkentry.GlobalAppCtx.GetZapLoggerEntryDefault(), - EntryName: ProxyEntryNameDefault, - EntryType: ProxyEntryType, - EntryDescription: ProxyEntryDescription, + EventEntry: rkentry.NewEventEntryStdout(), + LoggerEntry: rkentry.NewLoggerEntryStdout(), + entryName: ProxyEntryNameDefault, + entryType: ProxyEntryType, + entryDescription: "Internal RK entry which implements proxy with Grpc framework.", } for i := range opts { opts[i](entry) } - if entry.ZapLoggerEntry == nil { - entry.ZapLoggerEntry = rkentry.GlobalAppCtx.GetZapLoggerEntryDefault() + if entry.LoggerEntry == nil { + entry.LoggerEntry = rkentry.NewLoggerEntryStdout() } - if entry.EventLoggerEntry == nil { - entry.EventLoggerEntry = rkentry.GlobalAppCtx.GetEventLoggerEntryDefault() + if entry.EventEntry == nil { + entry.EventEntry = rkentry.NewEventEntryStdout() } return entry @@ -334,17 +332,17 @@ func (entry *ProxyEntry) Interrupt(ctx context.Context) { // GetName Return name of proxy entry func (entry *ProxyEntry) GetName() string { - return entry.EntryName + return entry.entryName } // GetType Return type of prom entry func (entry *ProxyEntry) GetType() string { - return entry.EntryType + return entry.entryType } // GetDescription Get description of entry func (entry *ProxyEntry) GetDescription() string { - return entry.EntryDescription + return entry.entryDescription } // String Stringfy prom entry @@ -356,11 +354,9 @@ func (entry *ProxyEntry) String() string { // MarshalJSON Marshal entry func (entry *ProxyEntry) MarshalJSON() ([]byte, error) { m := map[string]interface{}{ - "entryName": entry.EntryName, - "entryType": entry.EntryType, - "entryDescription": entry.EntryDescription, - "eventLoggerEntry": entry.EventLoggerEntry.GetName(), - "zapLoggerEntry": entry.ZapLoggerEntry.GetName(), + "name": entry.entryName, + "type": entry.entryType, + "description": entry.entryDescription, } return json.Marshal(&m) @@ -382,7 +378,7 @@ func Codec() encoding.Codec { return CodecWithFallback(&protoCodec{}) } -// CodecWithParent returns a proxying grpc.Codec with a user provided codec as parent. +// CodecWithFallback returns a proxying grpc.Codec with a user provided codec as parent. // // This codec is *crucial* to the functioning of the proxy. It allows the proxy server to be oblivious // to the schema of the forwarded messages. It basically treats a gRPC message frame as raw bytes. @@ -486,7 +482,7 @@ func (s *handler) handler(srv interface{}, serverStream grpc.ServerStream) error } clientCtx, clientCancel := context.WithCancel(outgoingCtx) - clientCtx = metadata.AppendToOutgoingContext(clientCtx, "X-Forwarded-For", rkcommon.GetLocalIP()) + clientCtx = metadata.AppendToOutgoingContext(clientCtx, "X-Forwarded-For", rkmid.LocalIp.String) clientStream, err := grpc.NewClientStream(clientCtx, clientStreamDescForProxying, backendConn, fullMethodName) diff --git a/boot/proxy_entry_test.go b/boot/proxy_entry_test.go index ecd5fdf..bfd7519 100644 --- a/boot/proxy_entry_test.go +++ b/boot/proxy_entry_test.go @@ -7,7 +7,7 @@ package rkgrpc import ( "context" - rkentry "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-entry/v2/entry" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "google.golang.org/grpc" @@ -197,24 +197,24 @@ func TestNewProxyEntry(t *testing.T) { entry := NewProxyEntry() assert.Equal(t, ProxyEntryNameDefault, entry.GetName()) assert.Equal(t, ProxyEntryType, entry.GetType()) - assert.Equal(t, ProxyEntryDescription, entry.GetDescription()) - assert.NotNil(t, entry.EventLoggerEntry) - assert.NotNil(t, entry.ZapLoggerEntry) + assert.NotEmpty(t, entry.GetDescription()) + assert.NotNil(t, entry.EventEntry) + assert.NotNil(t, entry.LoggerEntry) // with options name := "ut-name" - zapLogger := rkentry.NoopZapLoggerEntry() - eventLogger := rkentry.NoopEventLoggerEntry() + logger := rkentry.NewLoggerEntryNoop() + event := rkentry.NewEventEntryNoop() rule := &rule{} entry = NewProxyEntry( WithNameProxy(name), - WithZapLoggerEntryProxy(zapLogger), - WithEventLoggerEntryProxy(eventLogger), + WithLoggerEntryProxy(logger), + WithEventEntryProxy(event), WithRuleProxy(rule)) - assert.Equal(t, name, entry.EntryName) - assert.Equal(t, zapLogger, entry.ZapLoggerEntry) - assert.Equal(t, eventLogger, entry.EventLoggerEntry) + assert.Equal(t, name, entry.entryName) + assert.Equal(t, logger, entry.LoggerEntry) + assert.Equal(t, event, entry.EventEntry) assert.Equal(t, rule, entry.r) } diff --git a/docs/img/boot-arch.png b/docs/img/boot-arch.png index 75f11cdbd1162d16ab5b879c4e36f15c00ed12d3..589de65c9ede888e6b7b33037a8cb7cf0a375956 100644 GIT binary patch literal 121887 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 diff --git a/docs/img/simple-docs.png b/docs/img/simple-docs.png new file mode 100644 index 0000000000000000000000000000000000000000..f7ff93fcbf479fc6bc437a82195c2398bc1b5b4a GIT binary patch literal 105533 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ⅈ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%0DJn_%KtwFF_}4#smJ$sG{uYajog_O3gs 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 KoTg!Z<$nO7@;0~t literal 0 HcmV?d00001 diff --git a/docs/img/simple-sw.png b/docs/img/simple-sw.png index 347362a41ce44ed4067101aefc044397c2a2a8d5..22e212815f6d935cefd2b1d8977596118becc640 100644 GIT binary patch literal 139494 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 CUTif0 literal 149252 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 JP}=0>e*jBCki`H1 diff --git a/docs/img/simple-tv.png b/docs/img/simple-tv.png deleted file mode 100644 index 1dc6324c4daa14a02ee666ab444a15f58620d001..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 195917 zcmeFZXHZn%_BKcqK|uu(k*EkrR*;-QB!lD}lq5Ol3?`5qCAJbJb(3=gf=C7lO_Otz zn%Lw#r+@d}sk(wQQ}cd!Yo`7mprFG!d#}CrTF>*WwNJ<^C22x}2Lu=x7=*GiFH|uw za6K_FaQv@d171<8L*QayU`ks`O1_enl%##-WN&V1V}^n8B-+H-m{^weN&D;9#>VYE zEKCGW?y8?Yg{d0*cQ*Z^?WJv}?J$n|qOU)5|Mm>FdNW3*%8x4Rn_;xarR?pjzKIA% z|E`fLCmV&>x=Po4wj8g!P4O|hsW-DOFdTKA#8vRIu}uh~iu4UtG2Xaij6RYQlg1o% z7F%<63Up|nl&bF1^2x2;UA z-mZ!_)no<7422TkUQac8r4yHwu97ix{bsg0ZeP8rFcmHxHl5_PYp=dYs{0dReWcGE z5qYP5PJHd!XZxEsyGic6kyX2Yzq0DtQ<({gPkG%Y#xwS>jYr(R)0RBBvw`u;p0(BT z*UQ^Hk;2&6$jOTfQR}BqiKNuKTU$Or43a;l@?En0Y!v1{LG`1Di0$Retv!#Q zr;xxE(?Wk8J#Fm2T>1aU(~iQ%Iv{uszD?`SOBkOMk1aI^(-wiZ)%n%?ERmBpo_;Ev zAX%Bh`{sVN!)(a_i(=7F z+m1fcQ|kIYI!o-x{)j|Q!sAr+A3t4)2z9bPyG>HAsGKP9M96m? z|L84hWA}M3;g##itMSzgM#~h%`>|WweJ)4jBQIgEoFQ4my4hw$yMw)#)TS+AsBCaC z#>&yr>dk{hRlHl}PneWlo}{Rf);yr#knYuw!Omsx*f3c#o69$G+8C&~J09kjAEC~i zZj`Y0DN4(4I{l47SI;+LW;uB6!$p@s-Tu@4Ln7W2IwWxdQ76^$nr zji#WiD9ww9jNu9nWHhwc<+C(+I!R)YRxjn4clldMC}m$|Ic)&xEKkA4lkxV&Ra ztHr9k9->y$;tQ2!zry8ahp~AKo$o+cu<9!#RUbW#Wc4VkS*K5=Ir$z?3bOAMMJ?>c zqaL0QXlAGX#++?5d`s)j&Hk_<-@vJLEO&J}3FXq}GywH`w!>=OLWh9j3l37vz~+zm zpK&0$7`XgxO_*Y}sCfG_$0r7b9*SAlBqsFL*PJR~7#(CT$p-MUc@0VZIm*C7_9(ul zf?(+JgVr;w!UfmBk^=1d1nB|H;Uviv8Tc(NZT6aV=aINcVx;kkO`s5emiDZWsyMC} zGJ)msdlVv0e6mYE{`V>B{HFoAU%I!(@7=%zdPUK3B2er%D+I()I5iqIAB4TiPjxW> zhG@#T=Nk;UT(pKkotPMgXI}|Mq*fV5^3l-k@TA4CyM9hKKF}(2?&?@(89wQyp2$Cc z)ddl9C9hihUe@#dKXVG)36I$Pjjy{1O8|(UAZm#=|LDG8d}TJWc`C+tB+|~ zR7INl!Y&vQqbFjKPsx;rtL18Z@ZJuQZN3t;X!M$g>QjQHb!6^|r^|13`&YSL=W1kT zzekEXt{Dt+w#TgB>Cl9y%;*HwJM*T;eE+N!TV(A$-)HtwF-i;4ygr)s&PUiCw7#w$ zslm14Dy-Oo$qgs1>&qJZKyZ1Nh-s2|H0XU%f07{DVFFY8j2+7&@OvELm8>)_;2i-< zoaJh^<#0?@!W`hvB2nTUOer*bnWvI3mJ=R7;Iq4`N%aYasbjDkIyGTc;pio|(;0}8 zi`| z56`?J+>R=J%^=uX4X~S|$y0pn=<5qU$*6uA5MRIIa+5hq-mb`>F1MY0FaBJX*}VWM zSHJsKT_0;_iPK=U#P5s0*rVRoYP(M^yDsM_?j!RJKXNyJ?*4)|d)KT}ZoSOS%hfd_ z==45N=jQjIgUO9yirOk^9S1)rTn*}+PoRG0AFwj{aF2N*ge8)H(s~nF z-(=<4G<9Q(BSN9RcKtU$@~wvCjVz}20$#_H-5;ywxLd6(C7fGJY))Id^w$15N5(6? z*ZC!EaW2ueIOkMYvU1$92liiI7Al$vIa| zHazgAlSyJs+-ZClT0l7QK~%rRM#OCoz-ULlDI<0ciL#E51#y!#;j5`v)ByS{Ai8~KHto#UdCO*TMFSq#s2PuM^jo?R`C zUSS7Y4K}_Gg5D}GjcBFXT_(u)#AM!4F(*Fu8lhn&aLR=SCKV zyu?&@H7VM|Utt=iEk06`lAoq*R2yCkS5Rj`f>zULY3z-D;pA_sFx^ksQ1HaAppCc7 zlq||Hf3s7S8l%?F%RBjUm~0XM&Yxh1RuDhT(BaiDHo=%xI=$7K%MTK)44AVF02DCR zvjG0pO8*fw_N+Sxr(nixx-#1qTz&p3GOw*6Nqj1m`POEpE%BnKR5sNJn8!rE=x}L2 zwvQ(N^#J8^EsgRd-RH`w2{BizzSM~``DZ1Zu04)5n+Y+hqO4-;3@aSos@Gi(UTv~0 z?HREoh<3*yQ;=8f;d{%P94~Bk)>iKlT86kU*Lt;Z%dcLWOx#f8$j>xYXgb;)v#_Cz zv@&S)X;Mt->!B3PdS&McaVO1Fsr{OCq5PRBbjpD}J0rN+E4H$ep4d%3OryZV)o^@G z{}+Uh*^9bXTlE=Va^%#P4W$atbaskcFDwd%?nW%Oa9_&hTZWiaVZM94a&8y`c=o#T zb3C=mlf3jMKrmN~1VwC)ax8HF=#?$dPXa$Q^!kqR`s;CRqk-%vwlN^B$Ofa{7X`|X zpQDzxV~Lp)?K~^qRM>_;8rH}|Hq#*vE{Mi86`j_QNILt2eAd08P%VR9<`E#NESz~4 z$W7bxw)b--#+G*wktw|}e8v(z4r6^pWlb7wzqsLke{Dm%?i0@U=cKh^ddbJ|d!;QC zo-Z$tUj$Pc)37MYBbM93l(M1(CsL;$8TNHv0LPQ6F3X2oB|uB-+~?R(r?|C(>H2xVbXzd6BlZ%U7+$Xy%&zDH5`U8}XIj zUNxkmIBGG=bTQh38;{9m3>rC@CnLe*V>!ORsqQQ*^5$B~)P4v% z($SMPthN$%g9Qp6D{PjnSdgD=KCE&7sar;oL2n=~ccz0?p9vfArMhcS#G^~WZw<0k z1-})k=&TCWkHpL!3ct(rrE6h_jXVxMn`>5K6Pi|ixHv4i^y1>TRIcgoJaQX(?D&C9 zpHGc7&;5>6%0^SyeIqXICUnMkh{s^@9Hd*JHE7XeHs&|0U>W58G%;1IJ&^0HR{Mb( z1dg$WuL&Ng-5KGa20s*_E$A|0)=ttTn)-R`^rPI0ab4#=1RdO zf8?bkF~jSq*LBpr$7mMYX_=xw>iB%GXFA3@B^oKn!C}ONZ)RBy$m_ImCfhwrJqbbW{ zRJ`-u3|38+{rCVAk8_72o=IKCG}qFb1*<~eD6NB&;X^9ae5|V??M^&3DWcV=Qb0I$ z%4SVIe)yr|kw>Q;6G%2R*Ihs?eJu|6n{bW?R#lL?nd~38%RO^41 zQ}B&>$!<>-H+7w-YiN*(1qcXM>5K~5=5N)%74vVvo~!$)KNV4$ywEH1%ei7KqXuGl zUan7vD|c=6e(ewC&9@O(JZwVV)yt39?nq%)86cR~=)_EOhVk4&E(Z6PS}B_jbmr;f z6L!<3A@3??Yc{Wcv3AU8>s`xGV_%NX+v_Bav8a33F}5Yc?{Td9ftqg4C+y~tZHmtz zB*F1?`P^#Y07>Y?c`WzgxM%H`8k~}srFv%(rB>i6i3ZFA*>=q*`t`yRyE)c(FK?kH z5*(MWRo0WYkvW!Z1=o^1+WF!K29h#N7}?Y*Nw-F}nR60W-MxOu3JX+cDy1yc50h<~A{j-_jU+V-vm zkCFU}j;q+NBx2vZuah`VH1VeQ*JPoimX|e7-0a!rI;&GhUGQ$2m%=G=Q4FLvx}2G> zgRvWG`A+ck6OwP=3cd_Jv&6-6Il{F{=%BaMXP=r*pyWBzWREs7tSgI= zb)7-sSC>daAEpt#Lst6(EW-RTRnstk2-D?k6u@|688@)c{RYVyo2~Sb+a9;Cy%_vy znaA%~HoL_MV9k}zRLWYiC3}pw_Y}4J1z#ZI4H}gpr4>fAEEyU8vf#=4>h>c!ysL6W z%co$k?i8IxTLJnW4Z|s=iqCSOglyAMa9OETc3%5i0Mv;v8Ffz=zO&UT`}D4WwEsfS z<7wukx$a5JokUXrG+C-3e!&TUvC)y)=Rh&8NnGL^DePa>c$aBv3)L*|yY%OYG9>}3 z1#epKouxOXwVjeqdckjU@XkIDr!_k4X#;~X5J{=jvPxun+=}JYrN`XU9Gp4ak^N=l zrf`BG?#Zv}e>S^9lOE&Dl>1x;>zH|?u7G54bByW?D=qudgz7aBKf@1w)iu-l%BKpWd#SXL8&j!**w926gQ@Mb;c8HB){V=X0I<>o z-PZ#qFOBtzh41yEj)|kyQ~ko=nwJ6LaQ&H)wF-LnWqM1pXfiPIjACaq=@pjQ!jzx zf4s8E8fV0#$J&sa$^l#1p1)_o@ZK#1T>npoK6t zXe_?F9JtVV!;nra3jROS|9`*whw4S6Po}KRyZ+(;7?`(6jOigCp|5hT$Q|e@Oa8iv;k%*Bo&xSLAuLhr8n+{w$a?P&2Q*+Qk9_maZ4az@4Y)x&9(6bD(|v zJx3bT72y$mhb6R+r@D72{ACZ_K>PTtyhZ2L1DHWGbKxZePLjX)xCG$ihKB=5oPY80 z2*AhtJQKTduJ-ZzSAdU`HMr!2UG3xPXdnNd>Hp8_U+F&opLc%Rk7T_`|7_ird!Igk zjxB({p%)Pmne_dA`_hCdZyX*T%JfqD%^|zS)Y~K?AQ^~}_XX%pE{Ta%Poz`*>5n}W zAdj<~!F=X!FE@sB9hKAbdF(pv3<9fgW)EeAp+NKBcW7G2I-L|;{|N|jb}z4nIJd=U zyMS=g!wCt(`%5^&8DIy{;JSJFpPJBraAav1hWHfg4ztJYs{@J{?K)Zu{NFtU{(-4? z_x=fq#obD#cY;Tv;Jq|&ROe1dow-JF^)@uL}t*XIuF&qPn zSJ8MULYUZ*XTa`sT%e*-(5TWYc(O)BR-aM!J(6s0ZoZY*@f}}H=SsbZ+lFQhB?(L9 zv~Jh#)=p{>u`{>Q@uV(Sny>(Tt&vUI^j9eqH9OCiW<3+6t5<0kpWUU|PI7jfGp47n zpL%%Aa6wP*J6)Nj$(wyrdFJp(Je`@u>bOuGsx$Z^34_>k~R?u;^|-D}K!m z1-Y=ZyjPt={$wM?tu9gPeLW<#sIz#)i`268x>e(rjaa9xpW%L)y#~?3((Bj@;0G)< ze&)T&EFU8&Wj8AKjzRusY>Im2(GMXFuc7AN#x)S6wqLo;xXOm_%ze7iV4a7go84& zfO07(Fd+#nFQ@ERofd&ojcmu?*d70cWzaai&;soFI0MSA0-_0{<3*O66GKAuj=wUP}+kNBMqWy-ARO@C(X zl^)1s4H4Z)=u5YwGy6oGVy&(I-_nfqZ!U!q-Hp*?I~RqrAs7 zquIl|bT%OqehRpmRUNAFLEobM?MUjO5CaW-!d?#M`FG`%TOZd1d^AN4ZQq|h_b%u@ zKV(nZ+GIbn>b$12<;h_!TBf-kJ4-U$0hVMg)_odT4mQx8^7)>3w>`0ID5>1EDlDl& zs=>b`^X9Qvbm63{M9sVQV5)rirI%(!XM6&DPP^ZATfNmE@Y*adSMH6~?olkfBN&M| zKd0b#SuR!piO5s0Iyde$tcxF^5Urv{BF=fLtprZ;J30C5vPt~j5%tfPJ-2su%8GiQ z{fQ&;2%^9bH6Age{bhsfI?>HnfiTL&k0MIeHTNhO8}kEJeAf$Pj05WjzP%Cjt z93uk?h(1vZk+XqBU~*nnMXYKG8`1EW92G>Kk5EC~Iu%B^FL}E@yYohA(Y&<@Dmtj= z>cKH8BDE!oc&Q)Nl53x(pG(KzClS(_v!%v4(}g>rfSYpR0Zm!xUCB+i zsH7Bi?$_<>|Iw*YkgY$;shTBIoH;&hO)|thHO!_bcYb=5?Og@t^jv)|o9YkO9sMD0 zSW(I=BBInI*l*`ewCaTaN018qiPn}`oB07-&zJ`$TV>mIS6DMeWN7W@WOo}trwcpR zr^@RshwEHPNnZFG;Y#1g*CKFtcDibLE8km>Kt?a^8_PqP~ zk3aL$M2FJfD41Er^(;1V^{jSwtvKd+==$RaNk3|_uj?^t!VLdOlyrD(F+oib!ChX3 z@<*ebTkRppg@gy+m}MrK^aot0{i#G z3}iWWvIMwdLsdP_Go(~=HH+@@+SZ9s()`d2dGqdwd#xy4DQy63`A;ye0afsjz?`o6BfAip!4D=R$aWGL@`2D^TA5d6ed zokIfG<-{kdc&t()uUWO;L8OA1|Cb8P6k<^AqS0#*8r{r%3u233eO|~&M-uca!8-w? zQsiJyQJAec!FGHBh3HbPitsHS8vvaT1_C;0f`qfX6yf$&4K3&Hr zASgA2<9+)^|5&>B-Dw-Cy3&-$tqG1Iy^2>UC8K>U;5&?eu6q{HxWbD|X@`~EdGL2qc1J)mg zzCJ5ftFA7>()9KllrbDyMEto}(2n>>Kcj5T?Ux-f(FeL(H~aMOu(N0gT({U6SPh>; z3EW?*CpcXt{_^B7Wuok{yTQ_YkxpjqLRVsxQnLya!J^esV$zna(WTd&o2?Xxg{$z} zt+SjQwcO&%n%J`xtGrugS8whfe2LNxFrk$^hv(=#H}UW`m9Jp}cx=W6t_A+pNwec7 z2a13#RNy5)wuC!1fjBj7o6IQ|Ci4dFkK9Y+eCSRj%9O7;sN0EIA)tLwACUmWgvzB}}sl^=ovKxfQLf#+M#f%<6`(!VvSfrmLVf5u#^4 z)e1>G2Gkon7&UIO%MO_T?V(NaSPkH{u!es)@BqhGUeiGeaJJcC#Y)${+|L?$C;M?` zBD`UEF59#<4_BGGcGXE%w+4%kt4{fB6gv0S@-SIww(73_Y;EnzWq#t##-rp$Bf_$I zUMeB?T?pD^9apR_yS>v7<~G|{#pbj|h>)-jgK8TI=&=+8C;P?>7#F^b1t>yT&vg)Y zMI0V=PK>*=&T=IZ2$2DG3fl?ifg#7cYwP1hIY4%r?v~^gDR5dNQY(1pN;G?|!)Dn0 znk*uBXQ{7i*mgWyHgkbjNziXDi`Ae~!ft(d^tFAJ+xnxnNYHJlCk5_*PaOl(od8e} z(rR}BJbFD#ylIqh)TVBT0?Z9o)h~Lhcs+e=YOqaMPm2e0tnuD@Oj{kCv+5+TY1w|K zvV)6mF;A#kD=V7dL&Jskjk=sY7E++j=`2&!Aez!-*&pD;>E*zeFR&W3Ok0vk zoE_9HP-WLk$=jgqq$8|FjgAGq24T??HK#8iYl`6Iix?_VZ*eS`J}VPLOaZcc@B8wT z8kg>K@Mb#>cSZ~M}7^~|fB;dUWm3WvImPS^{b@oKpE zp|UdlkMb5x>m9Z;Y(`6aTr|Ko!^Y6TDgQBX;4XeCXUfA`uMw22n7?1}0y3rI7cq>m+LEnu9`7_bA(t{804yr84cq_&Jf)brt{g^fXIpJsD-%*wAr}=N2X3 zlSt9C!j;X6Z^4L-I|+z|@DLhE;052PHEqrvn97aL1S{Mb@-hpIo2dW)$4Wb5zAO7fdDSrcdpk z--y3;kBOL7)JITGLY}XRT$O0Aumct@LdLe#o5tJsO5ay%6wbS%l^Gm_MgO$8xZHM7 zZm~O!@y3M#tAIlxgkNp(lxrHt!*$Y7IQG^X!9g-tfPb%J8HvD$7upo_5M1s<(FO21 z)%<4ROH{gD0wB=_Tbx(~q%rvOe)5&M)zy4Dm2a}c4pG*zi!+-cvDxO~t4?jURSe?{ zH59o@X_|p^=S~XiBh-|4AB*~(#K*D67e}i&+1fymU$?sRNNhNCA{&p+rH}Sc`WH{D zN=zOXBYnoBGU^qfKz1c5*%1`6|hPGHxqXLjM!7YaLJyP-N% zGr}&1pLF<7T6m4*Mme(wCn8xM0Ki47xig;IKrxvUmdAeZ;bYe?MLmT{>MHj{O8!IM zYq>MuuT;>*2mm9gH979FK{+d1*?JVJW>5A%PvP{85|dJ~DGTkSu8sSPVPRn{oIo1m zii@3kdEDiN<$Gt&m=lYYq@s0``1l{*FASb?&x<3yqB4q(JMGng+!02RlZTf!sF^r2 zq8$XyI${s!4X-g#e&`mOf__tY_`qE$;IJaflt%Ty2S4Cs~9h0H(U!v~)}=1rf< zvONwPUEF8uNeS&elD}GZ2@Jad$THQhlf6cu7LYs;ue~8Y5s_TQI(>!X_+TGlT+w)? zd?415V&})sc;=ijb}r`SrIm>iD7n?t>HA^DamsM0@oXb8IjNc5iciB|=Hh^^SHSrM zU|snz>xIVbF2%`3#gtExk;eE`~ZG zLKQ&q#j5arE^SrrxF;(5yAxMbLecWo%mYlf2B$!i`k#z-p?d&$b6QwdNrGsWMw}q+ zLjZ|vqQ9YCABS^hSWV-Oi?X=j$ATc-6-xqu&G&CRs8qm_8>4CQEMporh&MxH{1|eE;L$a?R zerHWP%fTOc=@Oy$;yFalWaQ#+DwdpAO-J5?j_QhilW^KN_2hTh`g+sL^Sh5Q>PAO2 zoi&sPia9>M>H9>`eVxaW-em?}sgTY&iPO64JneW=gw9K}@ zKZepygeA~aaIv8%n<6$GdM{^vv`oV`P5NL~)M$rq$f+G)uKkAL-_C3Q0!fsxU+i({S>u9=w-x@dT3nw*S$<$wuAJm=n#V%CqSaBSnx7f)N^`@4i=G z+nv4>sbBBWar{<3ku5QnQ8{U6%BI@fb@q>J{qKLZ@NX};#%Bfl?S?kOji}xXu%OkP z7Ll`NakjR^)qIV5KR@1toLiojU!U8&npUUYM!-4!e>`d$-gdG9}^GphDb0U~PO z@m&%IMea64XF~L~J){oA836Bp0(*3V0;8*-586z<^InN4PJIzUa3&J&9AOnR0drH5-Mse=*#~x~ zr$kkX+jnag8wVC{eG0MSm`h_<&JR=-BHY(KU+ zRi<_AmZ##}+}ywee91z(Fda#+0zVeqkFHmV-M|W-uKEwVK z8U4pMH_&xN5k0RzBEvT{5Nug#~B_$=Y=0Mjc3s6jw1q;^RrlH|*baafc8#Nd_Tk%U{16oY0va>3n z*;JrQOBPju4iiNOKL%+7#CXWQJaewBNBtU?HGk$H=I^=u<0Mw!-R1S-S`DfbY0qD4 z=B|k6@finC{_R_Qd^Q#Ru}VueTfM6C0uyhi69Xt>=3C3KJmD%lwtw2!OnB*Xd@s!n z*pY84T{`u!0^EyM4L2u`7Lv(nGE6C*$mOC4=@xcGWfkf*is$rvq35VSEEU??GAZ?I z`E_$o-sF-)wi^PjSO!0tv%Dild*eo`fUB-1Sa*F3-+g0@tlXY=vCJbKT^aYz?FQO$ z>|z3l=Ef4l`$Snd2z`6JWbpz){`)J>Z4=BbeUvxT2fi8_bmdJh{RsYO8XyO|P2JGv zWdM0#*zhL1+-|hlD;)ch8MYLF69^uQ-e#J>1Uj%n2A|>J;mV%4*=BiFcKVNjASD&$0`yW$v3%W`?M)Si6Ma?t z=(botzo*>QgZuejN49(-YcBiA?)LT_8dCL2HaOUzOc-(hQrHqwZxVSl^DTDwouwj( zU;gEVeIYw!ma%R#k|1?yj zHlCWuOm3A}Iy=`YUkae#;aaf3_30|*-4E84*&f?-mARKVN z-$SSOdHp1=dCNB(9X2v{v_l%A+uLQ-EC+LXP$$*fr51ft3l!Pgy=b1Avgsdpc<3>R zI^2#m4>Rl1$|+&Yr<*arI;MGTBcHp!{sK~15!XvKu1D0fRQ`gZd~{Nwtt0-+eE`x~ z$m;Ug4m|1LX8&_-fCdlzg{^ufvyCwGo^(2X=f%4hK1bc~3h!xOtsJ4I%v%R{&RXKl zCJq}B@aeV=l1O1IEcHDkEc&P{x5nxEu|(56&Ti+#QHbWEo7~+Y7!!pE&9lzqTTfWD z=nGE?iHO|BBrjTeTW^r9uc9Fo5w+0c*c^p;lQ!j%$w8J+DZI9C+`}(PiMIj&3#upg zfCx09He<2}ip7PQbhADIBAsLel^}cTXR@;W$_d{{_RF246+xDG-UE( zmKTA+sD4HeS|Q6)SQ!{-u%)QEm@;IzUWBJx>XM|8Dx@)7H2wV;@@TToHJ&|9;ETnw zsBu)GF7y}W^wbWu=W&RiYQ6TS`tyD7f&5lB)ZC4}ByTOSel$npv8D^b$4^`qS^A@; zs1dqbvg15O-M&;?t7lD;sx@zz0p0mIoQ>aSZxi35>yyefpPq&jqLYaRdJ!>t*t7ET zssl4DVznP`)(fO*so@EaSK869kCpQj?3(wSwSn7iEOC5^ciZ$oEcy9UKROv!5JL2; zVQcPozfs9B!sW%gJg%+mZ>o83a7msTmbs~RU_!m>Jh8i)^9i>arz=o$P?9`=03r2azGPBX87Qd{JEZ0 z{xU7tuFP`hp67az`{T!1-z_27>IoQ$*&HHwwr~P}<~>N}wSMELjGTs7iYC*`r9GW& zWujnB2n>9W_^kX#J7)i)1NVI;D#g z+5K9fB|lRxhmd2~%CMgpMf#0WP_whZ%oW-6o+ncJ;s1bndmY3{9}5|yHY%;Ar4sTr z8khP&yqJ2{A3G?QA=c7T((;kxbzORp#y3HI!G?YsyXFc4ZFajgZ^`+-HtNpm$rTBK z?KOuQF8Ucc<%J>CYLHs00!=(*e087bNmvpb6<@ISaxkTSg|uGa)ARF4BLynx8x_3B zw$sys^6KmwUH&goA9sIt#G)qQbb#3VfpampBqO+9pbA2r5)_boec5QK0A5&@(re_e zeD{p5BEw&FU6a3pMe_+rS0i^LkzGSoz$oqIG@hFstnBv zf@Qok?5xZn57fx06o%2vgVX9TcTxL7y;hwmBs7#qd<^7&WT2ETV75WU?=+;#SP?ww zz5j)|!fNO#rlIefq{Q?x+x~fYV|qk}6^wat_&gZTw!k4wtP%hm))C7?H&)oZNQ;#a za|+}_%bs~YX9rc;4Uva3-z0DqbrU6UZ|Jh`g#34+0`it21GYH#86GrVBfe~ z+vkT}o>aCZcaaM!2KXMT;%*v;TH?Q!B2dw zQGH`Tsv%DfJTH4Ac9EObnFgH1BwU5{{PuW$8MyZWje9A*2LkfA7A~HrCDN^>LF_#H z$u}=h)=5Pu6ax{;ZoHvIAcnsBfol2py=0N!uK9Ty5COC1Z!OZ@!fAuUNvip#-}5Sw zUNf4xZ#|R|nEPsZw7Udi(Ai}6U_2;og*7Z{)1T6$*A@Dco`+|6_L`*^7q3C3-MF1? zhV$mCYNbN6Fp`ky_Lf87x}aM!=~3n2P@ZmQKJ2U`p39=Ib1T|N#~vi)DW_SaV?B_p z&EfP1GC=>E1$3#}KltIYmnj|D@j)>q+w|>sp&e7vI_llf(F!C_`y!iOQQl3L_ZRAZ zlO>Jk?EU>qrft0jb07}TbIXa};Pt-M2E#o8|Jg^e(p7#?fnkhN11UVls>v}8MC+N< zZf8@d)lQ{JTSV7138OqfD;1k~0O_$j`I&Vk0WD2T-k?RYb6U_tPEJ*q&`*zk{KyDa z@;~Pm*R86h?|9;h9O7J|-Q7WAI0?r`%+}GoOz}D>5c=xl4uAchX93*Bsh6eQ{$MRo z)TyStOVTBGw!q4ul>7+q7FFd`x`@d=al?XZc$aYzHRkm0bJRYMR~e^)K&5@ky9~(_ zx5eb_i0tOzgGrV_^`}c8pNS@kZ3x;!8P3no6UG;JzTs`eDmUJLxI@OON|6=ou=d+{*K_&*6q%j?QM?W(*+Qbpp|Np^oN)u|@P` zB+GWB+Vb=0T}7?h6EL;;4qq47mk&ImN5{vVWFVi%iYd<%@R?t61A$s2fKSfw!C}42 z`ankx!^i6$l>vt9BGzurAnb&sO6x&p7zPAfz$;zGc1+{SZq#7o9da2~i_t0qWfSDF zY$F7e!~Q)rrU^i|ETR!dI#V95pC(}QZXux&30PLGAfhk2osy9vcAD3eQw|fCjf>38 ziV%LfqI8)V-Ey<3{3K2nW0j)r8})aeIGE7!rah2Y8rj?4eg*^U%eJo<@G8mYEuYqt zvFk@QzsFY1|0Rqgq-xwTU^d|2L|a$mD`-`Hgm=5{Gm%nr%Ykg9;lb$Sk=U7u0&j}{ zlYWX?DC$_x&Gn`Kh3f}r6oB@tCYk2|ou^}Y(=IErm?G*jQfcSG;(Zi8x)@z{5WIQ{ zt;95xF6+-D;Zz00^HMvngld{`pr(<_`>qVfW3Ps2Bj?@>Y;RX<0DsF0Ka`i?@stA_ zAm2Z?GX?q4^Cto_v8rsgdI?*In&`;X{AJ{NTSgJsFjf-e^&k#=5qu(o7$K&@Ft)p| z+K0CH=3PyrQWmdQ8;C)SjQ}~X&QT!$Ia}V@e7J2ed)k^BPoZ{=E+Em2XwF`7Wd~h= zv?!^m+_?mo|D{Z{dttFs^>}T*W4t8o{relKz#}G*&q+!DLem2a(c%sgN|Ju%83N!U zzz}F5gX)*T%fD|>3b3B3!UH9bN0%7Ozm)__05|?$&jFx!Q-ZT0SE?<*MRI|TW&uSh zslVKS770j+{|}51f5QB$wN=*CH0$J=jAY-lXIf_6eT_1v>go@4RY~NojaWSa8c9aFr9zE!khOf@cmGc zt1Z(Mj4K0oATb0h^=Zq@!d&cnSepqAwj@Mct(QZL~U+M^EF=Ga)p(d=Vb6 zHSN*1!Bk~8&Mv&spat|w7=x7ouC=k|+W6ddRCB}sJEU;BxL?;Fk$+Eyxg?x%Qq1NR_DnQ9{stL`+<~BX2f%}hs$!A;!>RtJGc(_Yy}b87q*Qik z6_y(g?%Y2?ZVo$NEux7vRRA2+0J)-WFC9T0+aev&PF3aVtlbC{usQ*${{=@WxB#o6 zZ0Vd1KxM1+ zayk!FdhS$wBfh6;77*T+x38XpLkYn5$$|w2C%+*JOeN*x9JGa> zKOe$zy+tLG5maA6|K#bbdlyyRy6!+pW}w1Z+WCCRh$PFijKOKV$N*g--1W_hL?bXm z--6E|2xxR@J;X0k?%$Pwff^IblV2w9qS(m{ru}|s zb;dU57+tblN)s+*35m=%-cKsC$O3Y1!p7mH^ZEaBak3l5+sU8B(^kN*z6IqZ8)Bva zwa>?jZ@`eSy@S5oeUqK&i1qPK3DP)N;3Sox`#-f0x!JIWy2V1?;WLk5l+Dq2b7YM#K1}< z+s6eQT^x-UmOOTPRj-4G@(lExmU?Z+>Dw+P2WCPaqIzZM@0| zSKON3(ru7^B;IFP&c8J0wtoiG%r*4@U&JPiyMgldrmI!3lL`i;mjfJM zz52RRrwi*W1&B>Qi+2i--CH=#rM{tmk@y*1V4&bVm;5UI8YejbcrPSQpS#>&IGcww zDzY2OTL6MeY%}J2sik`0EM2tF$!>Un4L)hs-rim`P}{6hcVAV*i@3PYYuFjbOmEg1 zmwzmJMwa4EiAZ( zn<|>?^u@?)Z(adR?h+L>0+^57GxdA{C#6sR6(8Fmy>}^oz zqWWXHg261P!9#AcvEbm$+^nb~COEjVNUt*;I?HJ`b~8Tz;loBquvLuig+QXc@oY2D zu;`L!kB`cSb$q^e!5FR5ubPbte|{(8c3eOj!9({i*|iDXEJ20$7nctZ+b0HC4|Ix5`ST^} z_OIQ&k%Zn*Eq06Fvva-LBkM$l`DPEof!-tb^An*M@KasIpdU+lPsKHKrR{)bwwQdhgm zv|M~=ylHdwbQTcsP@UHHA-%2R1xsm8)>Z7PnO@xFXX{$%aH<1nr9RJ4EGv@*xeB1& z#B$3?)pQCzZ6a!cR4MbHCjWBHKbJ<#9DUN{rWxa}Euefy-1@mgnE5Tm-TP0_>fQI{ zxBNiY?m{2P=yV4Gv;;WI_Gd`_?CVoT)3(W4ml$u2vzZxV&(-ZVb>r$#g_LJqA^qQj zuJ*a~N5HghKs%22kh-88vB1;C!%hUtuyrM#fSDwqjM#9C4PBikelMvzG< zrN4l{GV>*G_e zqrQZ+ZWI}Cnrv&6-n}(WOh#s*L{e2!)bb2#gLq4&k#Bwy#(!38BzA%6#KWl?goQmR zdY|r!)gDzBYkPGLknW zKnc<`UcUwAsi7OOTU)+4lm4Fq!bdGeF1^z}RgmlA;d zvQ>hQt+?&q73xFBvRZ_I3WE>N8aByS*nvwFT-As-RQ>bX{`$E6m{CZGifyGFwAQuz z2xvy?wm9>0truyswk`^;|L1&l3V(0dRX*Vmi_>tj?ayFL0kpIgg&DHtKFG~~AY1^-<*mf^Fjsid^jlTFp+Xe{9-ypc4Yx1GN7?aAa$Egw z8YqJMjp=%`H7kCp_I(qbvW0Q;vStRvlmJ28#U3N$+RaHMdmX@b@88o@%27VooAO1v zlFY#15Ax&d1(v{u(7KBzabH6d1g0KuH#~bl~ySp`Fi}<^WA1pOxeB!&{f1KKBd5DA$CPN3hXAX_BjgG zhkC(o0#0s-EVk%PkI!KnA3O8dMraitP~^oC)-Ka-0yQVJAcbzhBAF@5R^?f?9(P}h z3r`_IZR=`Y=n8H%2QL&tqaF?BDn#)Pc935_n+KFF%Wzzbc>$D8zA;iVKm6KxvE6cj zb9u%F2pvUmHoWi$!@M6UV4;&mZDKl-HqxfjsEFXZ7b zaoc^RloZvq=|3in#`I>}{_^YKl~|xKAP*?QQcD|YoUR{gj82Z_rgXUrQo={i^=c<< zdhY>ZWgNQ!vn@rScwo$8Z@hfx$M{%4D(Z|q zqmISGMU4x`O!=()oA`6Xt>AL)ZPt0Oq!9?{odtRtNUM~;ZlNv2am^5ureZ;83M%9-f|74dcjwxg7% zpEuXzf%6MZz6!A_FD8K}d?XjKRh$e*qza9E<;hLr@y!96fghbw`;K&IT0(dhmy8zL zqcaDJd0|P2gGM^u&$e@- zyfJll<2Bh4h~&(3wu8eLGv@gEb#97)ngsLAi>~zKvIoi)2m9-55e(F^EFA=*o<_XM`S9CRHeib$$YrW_U0V44A=%ETRy(L z4%8pZ@4O_NF65a7oRr`ki`N^!sIsXEJ3baHYkqYh0%tetN_f_2lh%LG2Z^D@z0 z^gaX7I~KjzliUucYb+KS#A^}ZzOc{Z2s=8b$TQ-YrBU65!vtOHT82)1*Y4*T7Ufrj zBbul-&02mbmde}OWnW-UR+=Uryguosw4e&4n)?=+O}zqI;Mts1GSHP@VD^wE1CqcYI$FHv31Rxj2g zM3w=1Mq--@^!40m$yuHSnNb^biBa$UD4@9P27#pmoJsrB1u2DDMf9?14|RKkqobp$ zI^!>%swe|!lFdXu8(*C$=bk}Tn)ad-YF*cz-#%I1gbV;8RPtSOn@B9@Du*cNoBpz5J*FAxV%)k9 z>4<$>E0pJipFKppx5)bjm1{e+aY>f znwg_F>5e(zTf^9W23OlG^z!Dp(U-eRm7HHeAa%MEh;D(27}CW24w4^bz)>&O<@=K( ztCEW|(=L++6c7IEe$mY5q9ig(ZZ}i8T;rL67Y+8 zgggQ!mR?PPFZlVLx}l-$lgN_CQ>WN=8#T~Nk*I24tFw>ep5`T}#A&_E=tiBsEatH* z(I#(qWAb1Q1lG=Hc)K1lj%UlnM}S*~%)c+Ozp_W-(8A7sYphzH~7n9ADD zE0=`CQ`G^2=XRfWWao-7L`f(Y-%y4Sx1-TJf`L(439-BxU??OMsE0*fO_gKB)?(jcUfIx;S;8jS4?gMQRtJv z#oTE$%~8nH$@7W#6ZPGKa*r>bA<# zEs=dYadXKj3r<9PjYE|6%{vgJ>UGz08jN=-ari3n?Wu77{ny zv4BguUK9YA@|f68$IlPvz9km%o>;`TiAq*~RTOhQo4PMA3@LcPC0IGL_dI@pCt&xA zx$X;!zqHhNiaIEK)8>96*z(8cN4{XK^-9LY9g~@oH)P%N#vBmsN|X5==M5v&swFAt z@^s-&W4`oP6I5MJb|Xq7>(;7BK`YZbt}Tp30Yt6^Zc?4~1d0LeSAPZ*c(nz1W!cZ1 znERN$$IA^2d*iuN4|ZsF=yutb;vj3Om!+tJ zD^Ew8=ci>PS5P}zu98>Ek(k)BXids{#Fz~nt*s~|3a{(n% z>fkzsQL3Y}UU5S09MaJxJ@=saR_r@1(0}#E+U^ySpcoyMKFupmOZ+fCn0g04ZnriA zC{ak-4V;8{=bx-xiM+e@A$s#bQ~71UGG|rntli|e z*o@8KP|}mMPk%Ux%Fgf*h0&8@SB3(;-ZtblWg}@etJguETobKpbgOC4vSSA?iq*XH zG^#-d^(Q~LGvm?a$MNRR?gI62y=$=@Fx_9BJBuvVmalBHg-puIAh#E$#+hZ$bKjo# zpWb5M0jAodrop_gk%EtoWTRDAUtF-rp|MVxU{ucUaLxE`g$tUj`j`bOlRq;3t}+|q z9?A6Pta$r#=AC`y~>;i5&!xR z6A5Z{UQ@vHK*R%nwDh%G1n+c)Cr#SZXe6-@ zUsQxKi21X-47|@Ccz7544g4>Qk%+URd=jA$@Bp2kBEC#}D)`JJ2-s!>rE&V6KN6Mi zovfqp%yZ?a9a-WP+n^?S2`4`oJZw(SFI#=WpEGKE11r~&s)Gj zOVDez7aJy*WJ;N@8{-j{3U|u;*uZA3iz#uhY<+d*hv3MXEbQ9m^_Y7ukH}2}un-AC>)Pf8!H~k+y-*f&CA)9Qcp9rf$c>t+CIqTIa2O4l8){ zz+3ArFKDIAgoQynT33pCgdno*w}B}1WUf5a#f06WuEb19av@~Ey@zlrnj`;qczXPhCBpct9rE9FGa=aL8CRIHn)Zt$&4eCh5t1q35{9=Oqu_#ZtU zZWO(DBvxsB=6HGy^>-x<28H0Jb2TQ>XhO0eNf-~0S&EOm^RvAkzvmz;&2|NRcX(fJ ztHeo`Agn(`4BTwXhI}x+#SktElK07{s!X@6RA05u-OWgj zE>A}v#IVR)cL;sK)OVW5i%g?3><($vyFOi`Y(j0C8ye!?{^~tg(wf@vtX*nJcQn6^ zR}-c8eRCkTDWPhRWabSe!@uJA9+JYqL2x{r+AEwkXOA#!=6t-*o!>LI&3b4_AEfr_ z+RO)kH(WgL(=D|1MjY%Rrjn_}YW##ko~8IxtBOje@;yVk2y70kHXo3i#7EKId(6k32CFqAz=9?&m0Rs86jqPbSx^*C1wF525ikf! zi`%|f#N%*B(uHt;VTdFZ7?;-FsAsAJVz1=2rAE!UOJwCXQz>}p-DKD+Y=S^kocEax z^M-_MR0e)zs7E4mz669pt6~W2U+2PI7Gt20qkOX9(kJ`#9x6xGz2-8?=W0yLQkQ%? zn6zB;=SBOU+A#OMFI;a%96zO(_gH>Fs#ToyA)McQZf)RiJEqgyj@le3xroH3ixKqF zYhd&v$DmTo4A`F#)3-tE*G8C4&Zm2nV_9)&1bjx5Ejt3(hkL>5V1PyT|T_ z(}N*QXfXF&p+ygx8!4}u+kV5)0EOU;T0<}S4?EK0KPFKeX|{CX=(snjPVS3JLEsYQoT{!cJ0gMz8ZM@7=Z^RtI}u zp&g12+#k8$n-K5B!2uv8ITR|k*~@|BbTyC~pYff(FVwS~?RQLzw(-Lg7V=g{K zk^^EJ0t%@sbP?7uxFGCSnY;Bwy5i=F9F+Z_WE`B#z-p%0+_W5 zxs*V^0@arRu0JBFF59w)ENplkAKX9}^X})xv+kdhtkch^T&l0oGB@fh>)YB{C3HBr z?RD`xj4G3;qi!Tz`C=BkQ};l^bquv#Ut~PQlc}@q94BqS?I_=XMCs9Y2JgK7!b*uyh zE`yBUC{wVT3^4_MkDq3y^2oF#jZFc5905)e%HIIrW&YL^df;JjwLO(e4lGF~z7SH2 z^;~}HPqxx0udQ|NwtZ`~iKv$rH8BV&FsKN2e3u^Jhp*<)>qD!3*uFxuc^5&%%)WHV zgD#TD>-KXDjs zKxl%afvMiS@-ISv2LY;{SPIztfuxMy01x(0_^`OylCFoj2_22tdGwn{@(0FFLg(Seh(>?yQdu*I-@&)?-#1KVSVJGQ zpX*l%>0yK#PRBy#UPnxRbSnSk>#bYg#_B<;&bYJw28-cSR_Xz#r4j=b#;Y_y3|=7G4E<}Dhq80c7Jh0@6`_P5gj<`CklP_5WRFPq^d2-uxT#450JbV^hcYAxk4!9>E0ZxKkp_@V~! zT;T3^5EFAPe$XdVYr*I4`-KS7gKBN@{HR}m$^`-?J549wHZln}`L`0|x-7IB)m2i- z<>*MHANjFPt{PA}YDKe4aM~TXl?!dXQ4cnIxp@-*y5Y4Z3mC{5#qB6K{iYS+K8~M^ zx4er%W1XeAb*KJs*<^qdrAH1WR8p>14#AXB9+gZ~qIL+r2dW=7gYyq22J4l(K@w)* zN9$qKw920E*yptM%Bg)}gFvtL75xzCh~(Iov(Wbgt>;GJUJ~GCjq61}&=_2<`G$Ce z`M4Dp&u0JIrDay3;%%Ub@JcF1Q>U;CQmOKjhwBynMI74UVY~C@CbAJc3l-#8D5~NO zjfEI8__silV{P|oXr%_$1_m;4G4&$t3aN%?64mn8RIP-JN!-@pZe@1<+N0TmnIG-N zNV2y=!5xsk0^ z_aBjY7y?02)8DCicnrOn3Q_WD#U+o#gUP-yB+wEkT#)uvo*#kG28z6{`)C{qhwGZ% zE!Z%D7-1~BS1 zXf_dwdeoI7-YX;Myg(8dB42Xz?*Th4iHMxig4!#ZSA_eorL`Vj_02^|UhdpQ^; zMH%a{8Pzm#hm*FB-&)|?>C}8FDb_fP$BYLLL<1Xw3uZJ`Af8t7Enjglv7mW)CC!tJ zz8SCitp2l_PSaM;{%@P9!Epug*}GW|2_L`fy$MtE*D+r)F4+1Y`+^UP283^Qbr-SP z=##Xz*6gszecL~`+p@#OsYq}B%Q#Qt|*{@UIqx!s;vr+hGw$vZk-SEn|WBfl20fyYvsku>($<`M4* z(8re?acTzxVtO2mwHVxYE_5O&cX_g8^_aSK`63(j0to)|@sI$8fO(2p!Il11FcKQk z=ubycPms;w+0WelU7)16HG^e3t@2)7r8wHp_t1!3x^}G*Obs>t5*nynuz7_hP!?Px zBzt^yiU0Gjw{0hTwYyxD7Ea0~a%+rAM>1cV>o-HD&5j%WU!N-3egHS`d`v@7xjFeP z8Wd?Ct1uB~#kBKIK51>gSpu;(A3g(exMYKjKsIa3>gWC2?N-BnJFSX0QZzX7shE*J zr8Kc7kCNRl9@%z{gC)!8(_fd}2G{$8xbR`XbKL9I+Cz>s1ztM7*es$TuwX)(XsC8+WGkkS?0<{pV_a&0;P#N*KkclP-0>``Y9xK!u( zaCn**G;;DrGL5+e^2Pw=|Ge+NpRA4|QQb2Y09?A1T-vQfI3!cx{@Q}eY2fE$E*@-6 z30ARPdWY((|A9|39Dqh6D0MdYko9>x8|_ z{SO^1eiz${Ja96nQQRfj2NhC&7g`gUSg`ZS@=$rSk@586Ew2|`&3iL|NxAguSD>K& z5{_T`aPkA6Lk)x883pwF@;aqyyhU9v=Y6ZufcMq>)p)ZiACKKRSnX{v`WwwBK^Ktu zq#5};`IOoKq7M%BPQ#~{bL^ow2Y4cLwI}l>qYRN&4nu41j*m`tI% zK0mc+vY2Ep+f3JIFlxM)m@dAN87%x@K*GO$-w`(n&@8io= z-wXS{>&))^;Ck^j@M!t*e(UKG@lNH*qrqhETygVE}EgIOZMnfP8F z0x>EyL(71fgKq0wBd6ZcuFUpi*^`9i_$}5u>911sz<52kXF$G!34E{pLD&x-mF8^Y zu@G_=O(peq3uQfItBL&x$R8bv-`}hbeWbSWY3nW~|NAwJ@)04|s%6BYk;Uh6It;ju z4(pjMPybcYUIGgjSEDsu7H7Lwyu=f5cN{junR*1#r*EYYp$e%essr3C6I!(2GE{=F z@a>Q899zVe72irkhrI4QII&%W%3&$?qu{c6JUuGHJTaJwi(7dMHYpR3N+9&Lfu zwr|p@ZB|>KiUt0DN#J;4Z0E|q&5-JxJh?C_*2{!oZ@}430MH9a?@w%mzhw zvZdR|clcRGCG%8DHC7jFZS+L~&PKGbB6zMhH9TXPW|U@g#i0QhB$|L&N7ZzF80*s3 z8#_iBBz>&S!<2DPBAVzk-V&?aml;YAUShqlU#l z9RMubcqna3e$PAEOo_-ZipTTfE@$UCpODCOS$=$R9~nE5PZgYc^6R3jdu2UPWjac2 z*p1}ZGoP$;ywsGJAO>+@)uWGNHS9ihXl^I=jcfM3-RE;%0?s%K9<#3fxl*Oe|D8?# zN?On4S@#12&%8D7 zWE1{7KmP|vfPsPDsXM?x0x#u@UeKWDn8yy5js&6L3{J7G@IrYrC)HX06k<@X9K@3A zWi{MN8V5+AmES*H0nqigK`+XujY?QXSE$)iVOu=p)$){ge-wp70R|ZlO+->nOw9q8 z^wV4FO@IY7Ji&)a<9F12$q{oG*iqwK&w1)50d4ppT6ULGNs+*mn%#%r!D|OwzlBVx zMH{QPyX+69t@fsi%CPBmH4CSU8GsI}H!9;_rmu3_F`&%;EA}zdZ&K-tfmD9S!b%iNck-zQl zM@VY0Hqm9GK5NxB7H{8pPDyTbudY#2humqgdDlAZ&FXHmXfg(4G|`&9#+F`voz;iJ zX#XyfjPhiqExr{NfoN2}n_&sj= zW61u0E}I-Hy$M06xey?ghWU_kO~wwRZR+`~-|mk{dx+RHAndyvZ#_GVx{L zdb8=tj&IySbn?=Tw zUtH0#D>#MRH!I%H1xBA^l{kLrj=g4}-tLc61>`Xbo=Vdi?zb#@wbj{Dk4u#nx_(K zI9{M7@2hkjq?9QLAlAw+w_VZ$s5utdA+JrY7jHGk?zWG#8e9+JvZaBMojsp&?H>ub zO4TrgT+cr#2!`BxB)m6(6ZDNv6YwPpt6stB<;GOUBNOtP6d|K8((exRn~4I`#V8M0 zw6FeS$Zmhx#F#8rl`Ao{MRPF6apVrW3iJC@#QoQ^fS$ND(I>x6j>QOifBUdiw3T2* zJcP{0w-aE?s(ixmHhoc{Y;`T9uvNCUC2(w5^Ca3`xjpK2Ts_{uK;r(h6aiw_UC z_C;0$C?c?-7>YX$K~Z^*H11EJanx*RZbdn#8bDaKVW%Ro&kah&A8Rd_n4M2n;sNZr zchZaa0N?cpgR7%eX&G4iz|o{KTVWBI{0#A9hUo3{52o=LAy77UEjXBshuEJpuzwkj z1rYE6K;#d$!g})&r$N8)NPqiiZ~NEzwSSW*i}$b~JO0^DjN8%mBlBCI!uY_73?kuzilKAqLqCgKX#Ea6J_Y_d>O2#mlIuUT@ zw|y{M)@+3Azgyz1n>jn*9Hise|M2Jg%=^Ks?pejIl5zhY+Y>L?n#!Buq`L7UEmMZJ zMm681TbSo&0o6qSAs}PF%$tb4bF?_{bk01({)e0c5CHBlBH*n}@26JWVxPeF3DZ%k zN~Om6ySy5>(=`&%u3-lE%}}7n))xU_^|0+@by&qPn0URt4 zO1gAm&12AxPbrSJ!c;6Y8gWeca0_3}!~UZHwQ z*cV~d9rF6Hmwm*&I#6hZ7yVa%J4IJ)+Dc!g#i;IFt_O;Hb$N=!-Z}q2E&(?mP>rNK zqTJ4$(^)L6)dk_9uejwL?lsA7$$)9A}Yq=jeLprku0QPa{o(0 z{J;M}<@}uV?{>@oSw?SJ;G?`f&Oi?T=cT`Sk{%Ne`6tZv*XuV%FddI}bB~T=Ln`@i zxonmywSY9MC3*B~>L|5Jpx*U>lTL-a4Gwce#%w5P(*CYiBlD zoI}j#^|4T;>_vZwd!5xgxZr%UxsfLiW3d`ZCM3OO&SA2#U2^C0g6Y~vrS|(jsoEM{9EY+sxcjI?{e5s2`RC?(&QJ{hoXt7FobWi_g`*uV$fWHc{>>5i_hR@w z(+E?Sk?FPxv6+rf*Vc+5WfVK0`yK>U(-djdJNtwoK&VWbtV&6LJBT;REJ$OLb+ct7g`L>475<}=!6 zrIm+xlmI5PdE5I$n=(uArB*vY2By_~Cev)SuVK`Fh_}1Tv#P-D1k?ne8XAc?9a1l= zb}s|cGPg`LF+Jij(?v^=XIlMAscsX^#FyVMWy-$2OHPSxJ`AU?tsaYJ<>Yq$s0Tbz zS;&#iD1+IJBXQ($C{TDH?eB$bxoMJ0W|?AI*W; znk8`!3MzwYcgp9u^vpd&Dp7#X?lz3R?qIfOU$?6zp4EbRiSu$#NRm|0ZFA49 z*&U)=IGtaFSc_(oqCSrj$yPfvE$DFxBIUpINE8@607#=>Z>D!oi)Wv%`H5Coy4)|5 zxt~wqYe0@nSHyITfLu2Y5!9Y-pa!hjiV!u|M;nZbs{?fcA+ztsL$P|_W0}k5oBaIl zF&F9n6^Wxdh)EXxhEUWU@8FcmzC#bqx%4u|J$e-kYw9 zVu=vzu)x`+;Ey0?wVqogBs{-IB1cn~q z!*cY}NC&BPonA=eaC`x^pda{5OHB^d7{6^^?%t~qWc^dC+5R!5I;UY_*$zmNoQ&>@ zsr7)}I(RRpN%*z;vlXvHWq_RxA`7)kL1+FYFr{V*mEI(F2mw?CrXNtmb{09KLcW24 zZkBXBm{Qj|>X^5B?EUO!ZV!0c7#lWBpq0hrne_^~I@U*{;KQC`zN;3Z7C)cf_sKMt z)Z={tGR}C@3c2gUO(?ib`}2-Xw=)ZAXT3TzC3@SeTQFT|NAIwf$^NCr{4X}|Xsq!n zdG8Kvx2i)G!C}B=#lUlc6UTYPhuYfo?zqA}65#AwOs?h~-S!1bBU=u_JQM|K3#7pX z`9mso2FgHMv{0pzeb;jVt(KXuz5?yP)!8G%8?FTrDRDzL=_%xhbBO8<*Z6kT;^&S5 zA;lKorYoitkHC2ljrP4Me+39C>AIH_F;T-K$*!o5parv@8v&KOsvun#Y(?NlG?*CT znd8v*Cid{GlZ-ECfL*um{^krNo;E9Qu}gYF!0xgUQJES1!qfo9Kf5a37bzQM;m5oZ zH14d-q|IShFy^sI84j%eY@?X6R5Ew8)9_`OQuCT?%a><3>7EFNrp|CY?NtIQ1JhcHHc`r_i`9ROZRV}=UEKRYR2O3Ov|74UL*EpCd z%k-R^Ap+^>Oh|DJeM+Y~D@^$j8h=`_2_FD^5xHtNrrIClU;@&w!#_@epL<>=J1%SjdblitMx42!0I$u;0ZRyRBQ3nIa(!R!X( z{!Wu8oGK#%y#}t=Y~bMCtk`tvcfeuq$x4t7YTk%S`9MQg;h{i&ys&spyD!mNACm6S{8rW|i@@UjJL<{hn zzy9+<^R=t^QW$_NYXX2-i&?^R1kA-lma+33MOq^bHLxZFOHB|smLmWWM)Q2blkB2l zGCnHI!4lB?&@@Kea2#?YDIf$$sToXySrTD|-ZtBA9VQ}Wt+2po1%&Zz15Y0J<7Tz? z&R;cFMYv8Ey&{Y;C?=G}3>jZh^B9NFSQ%v^PRcn0a0os2oh@g?8QuXV^>+X(7%MV} zf)7w;d^sv@Z#QV<;*!m$1N>kDT#I4TwPGb_L z=DIt};T7W37YkYwhjFUVYSs7PX(MclMfI-?O%7k*0gUYAG_bvrkX&;-rgWRUL{Bzg zA&ytPSJV=z4NFe zfC2W)Z(iC{Sglq|Gh|%GgdC8#y8-cOe#A%ag=?l*bE0yZ?#8R6Nzc2Dr*;PyG{Lpj zKyLdZ%L&d@Z(e9FK~e#);?efE%daB$qlIipJF4*7PB5&r=z8=lDGR5rO>1gwS)iR? z2R#6%c+Y)Oyy!RE$n0dTf5!MPi%uDK7L^Qj^K84k4+$C$*tMzJ^=S-=Ayi#> z-y*1ND|fPli*~`{n)VE@lwWajgp05pgf1DCDwYa$wY5laqO^@_%sRAESWSy%fzfCvJ9e*ZWzd~tn-m68WOjC@5T*P6LHkz{NIz4qH8wqA zIMH6P!AQ7H{`ZLeoLBeaNxts5>-{xV@wGoJcVLeepJ2U*w70qltn$`ce@DBeF9*T! z=*(ARu^Pgu^S}kv;>MomM+7l&0l6@-(6h5;yxu@ySX|4y&MXJJE#*oU{XGN|OMc1! zGzXQzo)$v!l?RF#cEgf01rDHqSe?V*7$|s!E^h>|y5Yu?aLr=?sZB(n=z{-KEoMKQwKp7Nf z_-gQzXh+y(Mt)Gc(qw83SID~mUa8jP2OHU=;KSJ(trpv0FwAW%PN6@RbYNMYhiAvm zTkI7DY$8-A0rlzR<4}ni5<7!E>(clPB#wP}cqHtg^4%8a=hpQrMV%z_^F?FyBQ*lR zj*_{^4j#w7El)@))wXC?!d8p-pIVJHpvI61;Wv-!cxXbj0S)Q4dWbRDcf9elFbbgz zw__2p^A}4$wLv;&T7)Q^YmTcaZyf#A>0@9^y5+}leo6t$gn~otoK1?f6U`liF^KV_ z{1az(Tm&lGM!nWTSUd|VqslOZrCvDN1%S{b!}>n~j=9L#OA#UjP8oSyZkzVOy1KS- zsU&yhL|vNxVL6CCtmmzH&_^4NFzD$`j5>1r!JCv#^M1Vo8a z66~GYQ6Wk}+_Y{#iy(4LZP*(d>$&0zyV)~0km2kKGLlt^BKv6VSO}u`Zmn9SZ8UU; zO?w-y>o+=~NrnAL5+SKkHNa5!g|U6>^XY1bgXbxyPVA2i)MY5JsFb3$b?jjZ}7UbA@3~C4JbDfVt!OJs#+3IJHhVz25hu z^}=i*}3TNTJbrDMBnE{EonNVH&lS@kN6@S#JIL zDHKb3Q!*OtILky?AFM@-#_Hqa4dOpkU^?uz>UP;NDY|cUKE){Ip+w|n6naG&NMSJaXc_Yzt`;9o2&_Ts?)DE6kFm~#{71- z?I|(Q@krJeu?N|{TwLgTv^n5~U5mJ$Cg!Rge#A_x8=+PBvqo0>c~uC&g;OtGaEt6~aA^XWf=tr?pf9$s12f8B(m=`jb}lX?0AtBLd7CM~mO#hJdt`>8C4is%LT59nF1z-s=49ONwST-dv;dq$ehT6bemTFXESG_}f85 z)Aj&56z2kulKwAs`Bgr0djx)JM$nj4deGWXtg{?DtX@$2;R~PGFa8azK(RP69BSUk>+=0Di8T zT0Z zbZU*wsfE^Bf|JjUZlnbMAD6AN-a`?nw9Jz5JAfJ}=1TBTKkV%F*RTgezLK#-*}D6| zZ>{z%zk2z=cjPrS;wi*Snds8#3y25T&oSmKdRlF(jkroNT!abzUkz-p`jPe5G#50! z`VxnhsiaBk>UI2<{p+R&LSfs`O|GjakfI7TCJcTTOD0ZKilmD<<*V1wVE%Xp)sd+H z6iqQ5UE=#EKLSMBcg>}R&V!U*DSsu2$YZyw#5{S=QD}d?=sE{9Up%2~!R6|AvM@4^ zl6w~h7N>_SHn^7wHv}=MS#uTN+M-D}p(oYuo?3g}V4E_+AW~0zaOhkHYVHw9=Nr9~ zlfIQ!H30+>UU!fN4ug^;%QT{l04P{4g;n|U{R+cCD@&Y_JK1a;5ehbFdswR+biCY@ zC%*yj9H^B4pwW=22DQ*@chIC29wm5edh?M{tv)K&#u!W>ZT`@O1%hp8?OOG{y4-^w|=*Y(T&02d zgT2`SPz@tkx^W?9n#9k{nOP}!1~zyrADZx6R_IoXxc@XUBe<^#s+=XM8ZwI zkX$sG3cmv@!)NK7y*9efI<4%duIn8zV2?idVhWu37`|Fv{^&w&zGvFT0yI>>~@0= zRvA_|+gG6;%|C-EN0AxRdF=*2ct)nL`0r@+F)vMh`;e-uf^)mmpQ`%8C|{*X3Fvh) z=uL53-;lL>Z3MkcCxsBKju---!b*o8`XQLSJA@Ec{@B3Fc1jq>`piL+jDLcOg5lyLuL3a>#TLx~brSQ@BAcJ2|nNO(> zman?en@ksbOG21Qm=uYTf6BK6uxK}{d4O-XN+a!<6yIH>N^sR8Z3Z4t3^B1d(JdqxbIn=Yk$JfWpjGr>Og6Z`AjW zyQ|Tub2b`aafRs=va@S>gSLzTx6hTZPqgEV97%QC{NR-N-aSGqEMOzFu9&ZKCd0Rj zU>f&1@TtUkR+%o$*aRFeO1igH-72c1AzI<@V~J1*9boLper;VQR_&Y2-_53R?C+9; zWUB!?mD@fig3x@y%7phmi^h01n_IU+M`zZqikAv%hU4Dka&ocBO4flj^6rRSmz(3H z%2{Ykoq}SCaQ7tyVITA;KAc^C=gFkSFOOdM>6@dsu$fN}+74iP1jMhpO{gu8E1@Eg zT2)^tmiZYwDCG)JR3tcTUaTB_c@_fmfk?{yLJxYwu-O@&1e(+>EUS+SWc7t zaFW#Fr-vJ2uNF?njHvT8!Dw-r%O$~zxDw;OJ-huG{>H0+UTaDbDWb=8tW;HmU}Lv{ zgps930qu40_$VoSlSwO^)vfy#!3X1j-^l{Ap^ ze-&Z381;Ux2IKpS0i7<>$HL+MKy20LS+2A~97v>0y7n~B4lALY86jSd_N)$G;&qPt zRAkp_xfV4B{PyRd~xoc%UPv07n}y}+d}EpbRM_U|Ekpe9m|w>m)N1X$=m z((`XdwVmD1tRg$UcQa}lOi)p8Ke-2F!k?7s|w-z`MsTGO3NYL+FEw4 zw?x8a%nwkGvk=nqC?x%n?SGFesCl$hR}O<#aQqsAs|kautp|E0oSqU&8Xc7-n<04m zULl#qs@0+EB{(HMCqvW+1QzR_tKW8Mg%bMK7GtRf*O>F967wHMwaHd6!raM@^41Ld zif;Xp=W)|^F>_@9*X1wQxPGH8amM zGxyy0FR1!i;*j=z)rsa;Btvmu z;YISVtwz$$T9e~(cfCGmPSyR&C9t9=gJCv~X5q0LIF$Q7bKsE1Mb3%3bUr^$Dz?nXR= zjj3I}zw>x@8{{`dwYTydO?9@;aVewuCHP>#)$vJN7SXavwryEyc9!wT53{2~6Dv;E zu;sO%&)voNF{fT>ylww}Hpg}I=E_O+F1)E=StP#gSMCi=^PtZ)0LXv<9aaUSmU1+)L}S|ud7U&9 zs?6w6_NG8yp7!If=NKTi++)!jRjhN|3Li*jRx0t@Us!FE0ABPwPx;~AB$`a;CxXk zH~}zPRZOjF{g~*2vs}Y|Edg4U0t!|7u5W7go4vKbcMq`MzB4z~?B z2PL*^Za;4Ol+3dXPcr0{Xk3BC1>+|o_HT+b3O)5GiJGhMh;K@?TOuzkHJ;>1vSfYl zW?8Pf!V)oslS8hx)QAD?N9B-IcLkZkuHPuEifOshR9*vn__O4HL}7w#iPw{`N*lZ1 zqt<7#kko}bcNI(uDP5&L*ps#1``b%~?$I1+hS!1tr5+LJuNysVboJP4&7R;*U}6np z;vpG=YX3i{)4#s(d3^nZu+c0CkT6A7K~e$sT8X#bkN3u$4?v~m`f4X?gWCy^UUFh8 zy4t>_3lcV@%z8Z>mP73jKs#gn?ZYnggdVL`RyAZeKgu&4Y78v4^S<7VQRgX20J>JH zss6}8fT>=JhF%uFzZozl%;$$8uFP~;zO}ZiJy|E2 zklj!<`Alh;CosvcFe0&XnhmQx+)r?m&EM=G5{QN7p!EC(2opzwIrlLx9FUk!4RgjD zo9C(&5O!uWYocjY#Ghs+A;(XqLG`Mbv=2WYFS(SuUi82o^1I=FE9kEO$BO(f!*C@8 zP@<08Xb7bbrO;5>JvL+LH2T6E1%D3aI9!YAEi*;Jc8%~$l3F){mzI{>{7pMgL4DY8 z|4O{vYJ#PNy!$;l`ZA)&mB|4acdN<|91!mQFJvDRrpv|I7vYGP3u9$E%^o!W#R}O> zkhVKtP&m%`T)Ka53ic!tR$fQSBqD*nssJ18ji z(;NSgGuDu+lQpq;7RwxBUN6D+AQUnYBpmE3C;(f%8y<)?jq+)s05lA5_Z?N6|J_C% zO7Pwij5I~bQJIl6n6ywnU@L%HepCLxSdRkG&4S>m)M+bZO>cl-G8jzymnQv>A6vVh zAdzby<6r&f#{qzKUjqE4X9T&0`U}BvpbeMT<&-)ZJpiL^Vf2`gb2*T6oXz6(KsJ2{)x&5Y(wP-_3HNS(}$y$N7%=3 zBzW|}$HPt%ZoSAm&+XDo@jVBSh67lB58LHdg1kRSaPBimWGtTrc@;YbWD7AcU_Tq za)0v+L#2D z`ysJsEh_+DS34Kc;c0QGFn36F5H7aTc)Rb&=SKgX6)Z2Ifk-bPTyFcdY~~Zngp(z7 zYoZa~K4ZM;nJ}M%v}fgwRzfu5xefA#L-E@rsfUvJnZVK(2V{g?X!yv$S^?_;4R{jK zAjKsKIAzcl5S=D33R&T3YHeY!Frx0Mz3Y!nhCUU}8+%hF< zdXbW`jBz6d-3>^16cUEw@jP{GKXt^sWMca4fW;=m4QDi&hH^i%JGTn~5vx^(W}}1n z+cbPG2a_0SiQahLMBwu+;s=YU&!q0d?X-O4&mz+FUZ>tc%?}tbw=S2gU3mzhIV?szu+w( zn(te}VZGEF&OoFYSZlMA@dBSk3K$e+40nc;NZy zH$wC`J_S%J!;{tQ(~~hOL;{uoY&v;iE@um>Hh=D^f^#6qym6j56vG6E3YM(2pf8{G z!<(5Z=aNt&PPR0~{++!QO_?{j-5d6B#94*?z{i0mEIM-P+fpRucRl~x{?(S){$Mmx zdWpqzB97idPUQ6m|62g`c(e1nI>zv0s{rc;c4 zf(19~tP!f&{3Yv>&|0=eW%z5G8A`o(Zz`_d*57TB5t?3Dqtc2=cBo5^DJvyrM}hLE zv^hS>L82RTljCi;#Z2|51U7351m5bF3sqgH_sXtuvz{_(x9OiIu-@BcEgGF4WlUy{myV{nsY;$gL z`A~KFS+3c`74{Ju^Y{gnYV85PjqI^ty(o&Gt5WYC)L1@}Ij?8Z-# z@5{U>XM#E_DwXEKBl(2Xcg89j0?_cJLCKzyLA@#}TM}2I@JGwEs2nRr7Y#+kPXe~d z+!t`x0B}R@K3QmYdPYFN?d2Cr$g0idXktz>9nnIad%&6ydgATIlGQ{&|&>ZY()}s$8csb9t6qFl0-JR@X+<(fZXGs_B#;zeuoXvo; zv;;tDk*kF7m)o7Io6Z-;SZKGXXNZPn#MA-Z=jZ^$wf?jRPxAAl7D=3mQj4WJNy=~% z3cx3>%IbWQPTG2P47jEQ@9aWbGaln~^nWf{z@2M&Q3a15d5#~yuK$+V6&j`6_XZaC zCm<+B9cpn&NKe2E#QyY6tJ<6D=Vh4Ahad7q39xBAhpudx21aoT46DnLJkM{c z?$k1?$BWfIfpmI)W<4Gn)I43>_Zl4wA~vfWE~S|D&-(QSQ&wsXc6kf>Kp{wIb3h}F z+p0H;s)A^9B~z^2W(2d%;R>*Z#G85QvJFr4BUvCwl2=?Pgpw0|k5Sxa`Fzniy76Qh z?{=n}!$5B{6yXX$pe4cKc(5-HAc_?AX5D(9jAOrNcJJn8`QKc|08M~`a6QYSZ>AH~ z{-3E(AW?wHz0w|3MV|Ub#I84iA}X5klK(tu`XDFrGN>H=V5Xr&@y5$quWxO;3@fX? zeA05hw3&j}lAy4bTsrBaF2%XDnrvGJPPy@t*WgW87!f9?ykX1{>1eqt7Gkb;@#|XL ze&xd06bWV?Sv3`{I;T%wDyHWCB0cRV;d`(!SaPBdU-&`P53LmcsE#A{T7X6 zlTUY8jZERpwH?EBMXD4X$>R!cxmAyK<%=CmA&!b8`d@r$>J7SNqBFZA`pv6S0S>}) z#G+c;YP>T0hBqe4cv#1T&ZgFYTE6z1;$ua*a5%Brmiz8F!NI#swWuIWzD7wcfLUS8 zmcX83Li+xu-r>wq_uSXrE}{IU)1Gwr;K@g!q6>vW_%k{eu9H#vQvpvB2SxyDQZC!9CBPwB@Gs2sTro+<^(gIf2&(@es9Wpduh9+Z=#M? zl^gyOH(L9_GyA!8)-Z?ltm&FYnf4aH?v0tRtZHSl-G?i7g`qm zpZ(eyeo0S6aNBPt-Cby40+qgqXht*BZ3Ck(Q@71;$L0>46l`8Xdm^Atk_;9n zbA2qp{RBj<2Y0=rs=u;HT%TRrbGlzNDsL+mo$`xEQ>XK>E2tgGBr^-0=1U)8L$ZC^ zQdcDOUeHMj@gPM}8Kd?_QdGz%h(t3=FvoHlPzH|yq@?JgS5;Giw&A4pEO}{pKsmke z=WoSdfwqcw)?@4I(-sMwUkq?eZ^9J&X0URlC0Wm*r%PmHc*~bG>!z4*kA=KsahDpr zLF{q(ib4|miJ537^7H$N5afC_CF0z0x6`1>O|8uV$Pq2-fyzLnV4Wh!MO_vs9}{kQ z>ff$zm?s+xLVV3+v>RPs1JdQ_SB-)9zOAQdNbURuisg7B4c~p~#CA1~Yqtwb(N;_VlPFE^Eo>1B>S-abC7|^DYf? zR(4+r^Sl!Nsnq>D)I7WkU`oAb97O(w}oia32HAm4<{@zk*?tsvt*=(moS5-kH@*aEA zbnKxx#@Z%AFBVKaWb8iKc_DG+ep(>_hk1QIq1)}wj`hJ`E2)aYem2+un2 z=6f)aMyi|X8lQcBou7)XrQw)3RtCE%?L+oVq&uN%FI#E{6H^?eaa~bCUWH~2O5?=h zHprXSq-99_U-Nl-MzG73WmRP zcBQF8KM+7)wgB*>z7W(Sq*??^bqzQsRdI zKkK&^vU`r28}VR8b+u-?5YO@>eGSptQ2~AirM~FC_6^G z~gio9x2|h1YhwkEArZ+Ss#;d8Z~4+BAzjTqhl2X)zwm9 zn!^5fU2;riy`~$~QrN)2NY~ftS$%^rF?F~+fW?$c=@U#$e>_`lWojGqtyBg&PcgfG z!r^Xtw-Y+~K;+MsYN2$Rq5sB9j}`(2h+aI%MzF`X=zg!>bR?GosgM}EEj+|L(YP?w zaI%wUliGDjQ154f?KV^Y4LjX_b+9UNfzZ~=zBiTi09-vg_(o_YLH#69OP?4S3q16C|vF? z2cwdVFuLgS?v6ow8_04E>C}FVLVQ@;LW-G+EDlo>NH$^d5SHZAE z9Z-6xVSx<10+!^H#&0`|ltMQ9%5xet<(X_lhE=k(!?jx-Pr`>kN1R|kW9#_N93d%-}&?tX{gr>mDXf5)Ns-Mk+ZNlVHo~aMs`i z?@KkzRLSLKW#}pX9Hd`mud;RM82S37Lrm!?q~6kpg=lgI=JsN800V7<)8pz#wU>SW z>iox4jYk>X$A^}UiGnGBNz&FL7?9l_DJZE_7$!6Dfv4h`Yt~an#MYUJ?rb>GkjU1K zjL6R`1*g8qQavprjw^4!LSJtR^vkJQw^k@ty3_m_Z1l0u58dJJ0&yHx2%HfKGy zyqPb2|1ob~Xuq=_RW(z5RER_NoQLrym1kWD|0v16jnq~_fCLnYB-M@5A&QefIwj)9 zlw0wMt8u6UPYU1N5aJhp%FuiTukzJPVwvpOy@Wo~0E_G0cA3+LZiMQ_R~!nrGm{Hx zxLpI6Ew@5=AG*7ee0m)ge%XrS!9IoFy~N6vtr*#`{2-vBBJ-(=;}d)`>e|L>NO}Ed zkVxEs;E6AHPBnf;*J8P96ETb>UlxIueU;vkbkhKh(c6lqh%~X{aebOiGx2Ixoyj&M zAlASJ<=LJXby!*{3%PBiupgY*+p5Q6iKWc97uvNX;&T)!dv*jH$NiS*8{Myz^0C!> zAsXR$eSWzucJ2xS*G!hOE#U{I1xM+ELF2_x%QC1)Wq4+@55Y2wFm}T+*;#7xk12h$ zEkI?KHhTlpHK))g?c?RgWmeR$>i{3G9^E+Sd=U9!7t)#HEf6tU;oK}MhbO6-)KLNV zDEo0(IkvELoweV4w>e;AVT&mh(v$WbSLAhjqxa*7_8@yrIs1)1oQ>JG4T`}YvQLC~ zanDMNeIuvPsXw9kIx-jgy2{lC^c_4qG_P1DFfoE{sXY!fr=GGcdB7wKYV_JGUw+XC zlU;rQ&23`~dx>Jy8%t5JK@hseoFO)aTo~WMW;rffXH1=r(_gBd!t0!(-A2q5em{OD z+aYn|m(Y%SiM+W)*BAC~`D^)NXY)y;Ou-?Qkj)DPU>lM5sQ~xpxR@8%ZwZ=7>X0S5 zy6>Dq#J}%z6zm0c9>1uwX@h*P?J=V*tK*?jpo|KkWuyQxV3}K3!cEegzGXNRCO)Qx z>{#Z?Za;mB>C&;3U*I)*)gmlC?TY&IVRnP#z9hy=@m8ki%i7)Ccz502a>^+-%xp3! z;X-Qonkbk=&{Le36KS1*5f&y?T#eHoH*v|ONvBr^utQb_zFiQm`5K^_i*$sCa2(3% zb(f{BdMNf_b-6UZN7aUdjBDK=P2(@!mwUr_(f1i@44|#I+m>(pw)o*`{ozsG4D0;3 z?Pg^6lf)N#`w{LE@*_}JhNZxPc@G8o4~{a-zRLv>%=Jb4AJtY$9|9S@mJ$`c@v}Bi zfYAM|yH>CmD+`m})%pz8T`Z|Q0jKJ58)vZFk{tCJLC zZ+8yy%B=jcX<4+6vtiDiE&>%`6A`nD!6KxFK*;y*9O@iHu1>oZTS%-u0A+7hDb#p% zCbpm2U&p%aZ8op(DwKo$=dmjgVTDWAjH^QN5E$yqL z7!*vbaBtdfQzZ9(}EJc zPL-&=-y1dulf5BTmTaDYRGzC@wnE_rT6}n-x4(7i1@!`0jmiWNt#GO3P!M0z*UIyW zl~bGB&fh^>1%#wy*BX7mpX&B-RSqL5oiAIqO}=)3GNT= zoqdA$kh{djb}MjGi8$5w2cOmGVzRw*$ithOs7jfX!X-0knvkRJ-4mw z9os8H*)@bc`^9&I2Iv_c*DR5&icTB)ZJkJX4|*#V#8%Mgiwtdq&m)xF8w`6{)Qacf zK~dYtm>sxFWN?0=Al1au%aIB?st66OubuF=FG+OO_$ooedt?QV)e(HO8&d^RTrKOH}eej@s!o~P_^&49XCT$Os`Kn?YqfX zvTB~+xxkz%vxM%eLEpPM$EiCKiRW7JW-I-nyy<*VP$8YdqD6;LDu9wDe3Ic-HL0*m zoaAGmv`(3i1x4D3A6QML7gNGlcov2suOafS>G+A64^rdpfzE2M$jR0f0*Iz`)qR!J z64!8TeZN(=J5m~5@4YXEpryVhA$Gt8H;^9MT&*1b<4=7p$)Qv2eJyu)dT>Jn_uV<9 z_xBig1vhd>q0&hy>q2tYnDwPYq(pY#g55|3TlFcYeD#oVaopn3Sn9=Y%*F6Htht=3 z?ec84hvggVW9na-_ShjWjHvXx+Exr(LBNv>?0 zN1;vp$8Hw_K20NC8gJi5*QTD0E4@l0u4BRs1cMo}=xKW+>C3djzzCzOYJW*M>J;Xy zkw_jj`H39eyaH5e6|{u`p_S~>@bo-&)irQw!@DD zY_Gcn1YlM!fGb$s{s>&t%XaX!rL1g0X6bfVs8AI20D=!m%mnnST+qK>ZVCTW3!r*XLDTu+ znL8z$U{qIxoU$DI-n%TRnLn~EzCzKfxJa5sNg`|`oU~k<0D{P04+pTWV%}Al5T$wM?$V>S%i!F-D^?p z>1MNINU-JAmEXBcbWiy0`qu%|6+dI9hB+W`$RV~rw97!jJhVr$^Q%Dkcz;l*bXw@$ z)r@~+^{0YOHv36Uzfm#CQF8Hd*mc8d*r4oUwPk~9^9XH+u>PPo%#63oO*Xx=aIKvo zaZ1(i%ZgwofArtr%$=-uDaBT)lxSDbK0qVPGb8*ilh8HDgd{qR2h15dXb<|G+TK6+ zL4rc4y?=`Y-Hz{nMGz6+f@dUYt?GPaq?0fE`}NyI-VZh$ur{od=6jO|X0Eg;3$+8! zy2FW}2h$5dI!Aq@Or?4MvH|vZph&Am{L_12nvoj%$ebRigifbYR8cQ*)VTEfL9==F za1QIRXZerA_~+MVfzb4SgadqJuml?5S`N0EK%vslrG3~HC`2lqpO%&Eik|PvIicd` zKa$y~$%gCrSdvttcx^^Jt@@ALsjb7dPU|K}&Bv z=7>58Jn`&F%H*GW`JOzqy2JXtLoP&FP?BU1J)&N3^4wySDXyp6XZX_W*(MRR#Wb%n z`dU+Y|*tFqx>#NBk zjg*`y{~@YZ653m=j7yR)2fP-!zH zHCt&F^YvY^%xDgTm5|>kYf&-vhsa{36@{gC&8!AWqtfg0*RTPtOs}8mWT@Wod3Mon zh+U3kcC&e`2bfT8$RoJ1G!$JqmfC`bh?+02f#c(JDmROOValr!LB#jFhO;Q5xcj>|3;$4h_F`XVRTwc(zSE8^iox+@e>xHrlxX?On{H9lR6O{e!)vZBh>qMN zMEnG5q_F($sWHi1h@y@da_88M5T)NzyW(X044JoLdL)P$E?g zM9uu1HYWN=3pT2Qb0yAV`m@}4hLVOKPNa&TF-*%juwIl~fxhOc3h;@UVZGQ3b4K*fk1G&;TQ2gv2h%=uh~|5t#hN)APq80Ug*lVKMkOf~C|2I2hTp>Kxvb*dMjh`W z^_=fb<$b!9&c7G)hAIwKE>stqC{R@H_PjxxhfU^m9~u+?;O@wF8I=Yboa%8^%H9vE zBNh`F%5^q)j@vyL?C~$ARJKVCR*9EvQ>%16Ui6#qcewXk&cmKJea=J69*ZF04tG1- z?f1mL+=B9ov$Z_+8V!J+G{!_#=XcTdRlLD4^VJ>jq6-PIKEtuzJ4V*Lz zTN~FN)^=EpEgtwg80Cd|FnbcY@ebC?MuCzr@5^Z3mQaCjI?CnP`wY;klzZ`M%ppB( z^29h<984p&Y$aJ((1OcTm_96pN3Ct+*%~qsR}FuEvNpo?^*jablv>NgShHo#5 zWp+3p;=lOVZ_k_hO2SZ&Hk>xCyoE%+*Ly?A=YW1|bDM~Ojl2zm0JZbGxky4g9w**> zvS`hn^JAUE$0%AHN0T{qyp5GH560wY-w#(Lpudh2&s6L!?ArI9;_NndB?BE7`9x25 zXO-{SEp};fpuDRPbhZTZgJ3MN#UOqsmSN76nvUq;8h3A^30bK?DHT2fU)=xpQb|PM z!}~T%at8JC(D~_3Sa@-pPf$jn6e5RYr;1S`6e{CMzyEZ*49lbRjR6Z1EKG&|fNN zFunEYk@6l%%ylN%deBTs3HJcLU1_le0swe6wD4q!M)2-wvk`;3LY`fW$pf*o3ZcnxUnyM{ExTDox`At3c zmnrG(#8~Na_w~4vo?)=Xe1vRP#T-R^Cqy$X?hO-sGp`OCs^yR74x4UDKdfPXSbYQS zJ6*nh>!yX5tSC(e8{mU}TmZY+bUAx7G-7@`FiBaz7Ah??U79|FHuF5VyaNfXxhB)* z8yY=9C53i&+ukF^?eWCJPX_|+jj^4(KUDN1eBKZG>}v4H>_tE5G#g(i89+$k$v=jC zZYaG#`3PMwe!P!>>(AisXZ&IkV^i1cVzfb@AA899iobBiTe&m|jkvwMiXOf@1rZ*7 z`5C061eabYymhPG+4^`upP<;8GQ!(2Ioo4NXxVtty0oyvJ~yuHHl-jk;W?Bubm^N; zchv^iD>+7!rQ>2pQH|3~$I=)yI`+k8*Daf8sv3}O&r%PO7Ais5Zj>+w?P0#Ad@_3H zuq{~gU-UjA7v(r~rUTO_xPgT8q-|S`O&3F|XiILxp^nim{tc11n)>1Wz9QrE3pIuHz zc0B6Tq--C*$Y)l-&gSZ^LriP=0BhSHLiAL%;U7KBbFhtoUWQ6C>-3>q<@psRv}lbB zzXC<2bu-Z7+iMG`sGv;tR(i!*vTLGvyqeHTh@`Etn(V%;aTH&)7wK6{vE0X(U|urd zoHY1d9Dhkp;ZY7*?(`<&mRbb_1U{s1WE+$n%|KyP{oP9%dEpHr9ACK|=V!?dc zr@o>?3kp1c4)yxgfBkTU3%y$0Rx^*77YyF@^7CO`U~kRcK?#5V)nwp#59O-!^Zhw* zAN}s|PsjeWZ=QbdSO#|eelztjM>7QdSO*sU?0htvE;`tAC*#EEV7{GP)u{BAb z{^vOU^K4kL%Q*u4AzFwyg$2Z6iwslUE_;-$VZSG5>v|{`(8O zk_FIPyr8_Q9snaE9cZ`x+(kgfjn?n}D$@J#QQ{LJd)n2>>dkIHm;D9tU~^~9R*rs;$+e*l-wBxitfl89B*W|8Swy%IK< z%x)*AaF)|&{InYN*nYm*^Tx18y1CY{lY*yOGk_Z%b0GgQ1WZQ<2Ll4u@Vo7ww^XeGGT1KvKOPL{oRt0Ur z{UTdy?wwqkfUn727LCK%6+c_44igd)Co3oYTfS_ zfX*uQJqJb2ERA=74>BT;=R;qhag+ig)c>_Q{r5vJ*lPZ?P??J|e!_@laMhb|2jW?d zi=C1xvOpgw&!Kl!B5y8D+wv>=Yv`u}_~%DB)H|Xov&8^?;m2efo=^GFl?Gdkjvfa$ zVc5|{=INSY?T4?BHix_W7LqFUH_R^Y3JpE)H&G_?)jnOrN=LrOfB?KN;HnmfKf0e{ z^LpI{)I0BF^_9pLzt|Xx7b59MeH_wB^Oi};nbhR-Kzxj+#8E2J99hV}+Ea-^{W|}n zkge;X=ldHupfk7wzyoLNI|`1(j;14pW#t2(Vp!l%w&z0HgMku`ZwL-eA@&sQ>&KaD z13VnsAE|x_XvNOGxqma+p8tmZ6*(2R;H5g*>~^0Jla8S@_+%|P&v|yp@mqdu$?r}S z_!)DRkF0mUzxDaz8+}F*^qosmD z_e;`JnQn^HqT92fsoa)WnCXZ`*n($O!cWDeVQQ2Eo!;i+C#ryCsg~-dDj<`IXfPqo66WDh(t^p5RbKqFQJzD@w;$+LEL}FyX-UiF%2|xhRA82 zLceR^zul2&pq&prrgX0JzTUR=eSPX=rDPn_SguSeHRLOHzESG5mLO0wV&HQr!+LNr zsNjZSNEZs8)R{0wcd9!M@Aqk4fR3)54Q9GnX&AwL_wm~+WeNSPkyC(D-e~_|y@nNA zr!LE1>+-Sx@O9{|{Z^m&F=ruMvzsMiUoh;uXj7>;77@FzSXA#UXR4C{Siffnny#g_ zi|thF@8|PUl?_z9A5+~0lTP#RtUPZyaL|o0hgYPdq;r8mKo#ETi!RsbzqPP5j}DG_ zDVG6@IL>%Axlm?alY1TJI=Dn87M`U^*V?X%Am0E$t`r3GZw2I#A6pQy>Ql$;e)}@X zWe8JJ$6GILq}eT<>eRV~X$kY>ND;99#O#ZvPmgZ2dF}hmO0)oiApKhW-){E*XF9b| z9(#thv@}aCx!QuFV+Mfyj)GdU>CpoW?ecV;{o}~=NCyKBCM&^sCrCzcfY0fBpIjhZ9bEy3pT{ms|X`>K_?C-NIkP>w&|8Q`Me^9)qzGjykw zGAOrbWm_kCYy`*8X-3bnt#l_@5+ z*s1sL3QZJ1Q$^IQ6XfiRq{*ZuV{G8U|HWq!96=}q1g5Aahspyj+-S8cOE-v9JQ1$Q%JKo#&O z)`&5kcRAn1frBhHT-+TIj?LaY0H(B{ET_F!QiEtR{L_{KcAc!E!g87aI0IVaFa(y_ z@sC_pfLyt>T&C!`RrRxEZF<-Ho`YZwf8eF*qCWTSwUC?Je8F7`r0bej;rIaZv9{HAU|CfSh}J3x3TMUDC4KNxZ;b1>;L0AJWOyMvR;4Q z-*p)5CPS1U6KRYUbNY|#T2;_pz)lV(UZ~Y#{Q=pz+QTKSdaX;|*w8(YGHv%313K$W zhIdD5i*i9Az=4lvx`Hp#8KVMeQt<~8+7?{cQt;w*7!(l_>^nyN5veH@pvy&+{y&l zT~2X$-R`E-C56>4`a10WosI#Y2sLH{>kDwH`GiF!Q{irQbQT4279YVux>6&y2_}VE z_$4?mm1rLA*PQdQ9R8738wEdy$n!|`v7z9{b8qk^O;v$NF=vv+KePI!12upmu$C%{r)6`Z-5BRa}kL_)U#mML%;B)*&l%vhApv7LS}K)r3&jQ_ zMOwz%pr&0DlXhd4`BZVkx~3iG z$@U^KRalK4uu12;cAgeMs*iI_KVF-$5!r(1*f9e8dJ?IQV_P1U*ADvTP!h*-Za z*}^K&Hv4pbq>U$Xm~&-|C-(`RBtF)}a5*1|?2JB$S3D-HuGG>wy)P)T5z+Ge!|8Om zC?w>%y0=jAcue#pPet^0OGE$~+;fq&48ZAsHdskPS(PK|EoUuhNd^1>~( zTlym5El;!Z#!MIQL;{u+OLafw372JzS7;a`Vg7PPDN6t034k5hhnq}`J5+;7ym3#0 z0F3R2)tR1n;2vMXqP{#1JEGL0IwPvKR2OUWN4T_M2N|AR2%WM#H~{<=r6ETtwc0bcxYBdWs^Od-ke$Nt zS-!cQ?a1tLSd=HCBDgso2?D&qIa`=F=X1E5ftf!hbK%MB@9chh*U{^ElQb7loSxTa z`TaF9!Jr?1&tx$&a0Fb{5mFEl@3eCf2G5i>V0#gjm zY@+~On&-7<#AZKhNGDRF0(opQLqQ>7PRLix7XXrVY1=K2(xAkaiS?M01vk z=jf%x&W@6r*Yy?1h5dBA9m@Adh5K-Kbut}!$xQOzK~*gr0fjIif#dqx{Rk%$`uY#% z12~n7J#V$EF-nHt_59srFD4O5&g_krPKor+dPWrJEoB0GUim887-E_stAy|ab%h%T zQ_GhTICMFK_bqP5l_qkCM@$+Li!tVtd6#=7#s0<{+?hqkg?BzSg}nSNc&e_6fW&YU zJV#!U#$Y*F&X6sW3e@M0g!BZ1DW!tmSxtUber$>cari<~po&DO5d~TqP~LrAw0y8s zL$%Qp8y5a(FZjs|m54LQ&Edc>c{;cT7@-S?sfu4!Ko>mHsg%fF6si%^_HldS8BdH9 ze7){+#=0@qs5wZ(>C4*f>6fpizn@9kH02svz7v>IK2>fix{-4=^qTa$3$o=*dl&*Oa+(a|45B|44B%Dw5BhbuBf zcFXbBawek}N0(a+@%Phlz^rg|m7?F|Ci;t4;igwZJvhS6UCNj-f!qQq`SH!UIU$<` zISH3XwAWUf@p*pCJcEo2sK?cO-~IYl)kowxy=?9Sd&tejz66kAk?jVOf`XuTD?>e6 zUx}#Rf#bt>a8|bzX|G@liDk^)(cJul$MjQkV|P5wis4BOQ3&F$%v69>>yqi@>5!lQ z8-P)^y)|ma9$zSPbmd#zEaBdmZxREaFXLpJqX*9fR_oV#oILm&!->Jbl2e*SfxHG= zsmaMRU#*FDVLkgsHlbNpl0dc1>1cH1340IF^>V2x3-s5aI)Hrg0l1W96en}zJJX5m z8fZ&!>2JSs`?Ja5{9+G_9ya0h*+fH7x$JrXDo&rg7x4F{)`*o-taTyi>@^uQ7yqSG zTpnlwjO)jS0m-)}24X`}J;|;fEpYvU@e3vexvF@R*L{#~JoF5Rfb~5$c9p*3zkUPh zPl%tbF%?gDwLxiXQf+jAJ2&pMS@QMY0rK5(6yN(81h6z!gQ|fDi!m$fQG|cw^Vv^f{#PFUIJ`FduS`%K^$I~d3?wWI9XEw z^rHz~n8_}5&0)Y?7(bQdnG?UhHkr$ZyN~b649v`yy

#DQEwsz94ow`e6n}dWrR( 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 MG#(V+fBNG80pyaWPyhe` diff --git a/example/boot/cors/boot.yaml b/example/boot/cors/boot.yaml index e73d139..fd29b1e 100644 --- a/example/boot/cors/boot.yaml +++ b/example/boot/cors/boot.yaml @@ -5,9 +5,9 @@ grpc: enabled: true # Required commonService: enabled: true # Optional, default: false - interceptors: + middleware: cors: enabled: true allowOrigins: - - "http://localhost:8080" -# - "http://localhost:*" \ No newline at end of file +# - "http://localhost:8080" + - "http://localhost:*" \ No newline at end of file diff --git a/example/boot/cors/cors.html b/example/boot/cors/cors.html index 9ece335..3533db9 100644 --- a/example/boot/cors/cors.html +++ b/example/boot/cors/cors.html @@ -8,9 +8,9 @@

CORS Test