├── .editorconfig ├── .gitattributes ├── LICENSE ├── Makefile ├── README.md ├── TODO.md ├── app ├── .editorconfig ├── .gitignore ├── .scalafmt.conf ├── build.sbt ├── project │ ├── build.properties │ └── plugins.sbt └── src │ ├── main │ ├── protobuf │ ├── resources │ │ ├── application.conf │ │ └── logback.xml │ └── scala │ │ ├── EchodApplication.scala │ │ ├── EchodModule.scala │ │ ├── grpc │ │ ├── AccessTokenCallCredentials.scala │ │ ├── EchoClient.scala │ │ ├── EchoServer.scala │ │ └── UserContextServerInterceptor.scala │ │ ├── models │ │ └── UserContext.scala │ │ ├── services │ │ └── EchoService.scala │ │ └── util │ │ ├── FileUtils.scala │ │ └── KeyUtils.scala │ └── test │ ├── resources │ ├── jwt │ │ ├── generate-test-jwt-signing-keys.sh │ │ ├── test-jwt-signing-key-private.pem │ │ └── test-jwt-signing-key-public.pem │ ├── ssl │ │ ├── generate-test-ssl-assets.sh │ │ ├── localhost-client-ca-cert.pem │ │ ├── localhost-client-cert.pem │ │ ├── localhost-client-key.pem │ │ ├── localhost-server-ca-cert.pem │ │ ├── localhost-server-cert.pem │ │ └── localhost-server-key.pem │ └── test.conf │ └── scala │ ├── BaseSpec.scala │ ├── EchoServerSpec.scala │ ├── EchodTestModule.scala │ └── UserContextSpec.scala ├── deploy ├── .gitignore ├── README.md └── echod │ ├── .helmignore │ ├── Chart.yaml │ ├── LICENSE │ ├── templates │ ├── client-secret.yaml │ ├── deployment.yaml │ ├── jwt-secret.yaml │ ├── server-secret.yaml │ └── svc.yaml │ └── values.yaml ├── doc └── README.md ├── gateway ├── .gitignore ├── Dockerfile ├── Makefile ├── install-gateway.sh └── src │ └── gateway │ └── main.go ├── protobuf ├── README.md └── src │ ├── echo.proto │ └── google │ ├── api │ ├── annotations.proto │ └── http.proto │ └── protobuf │ └── descriptor.proto └── util ├── generate-jwt-signing-keys.sh └── generate-self-signed-ssl-assets.sh /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/.editorconfig -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | protobuf/* linguist-vendored -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/README.md -------------------------------------------------------------------------------- /TODO.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/TODO.md -------------------------------------------------------------------------------- /app/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/.editorconfig -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/.gitignore -------------------------------------------------------------------------------- /app/.scalafmt.conf: -------------------------------------------------------------------------------- 1 | style = default 2 | maxColumn = 100 3 | -------------------------------------------------------------------------------- /app/build.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/build.sbt -------------------------------------------------------------------------------- /app/project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version=0.13.12 2 | -------------------------------------------------------------------------------- /app/project/plugins.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/project/plugins.sbt -------------------------------------------------------------------------------- /app/src/main/protobuf: -------------------------------------------------------------------------------- 1 | ../../../protobuf/src/ -------------------------------------------------------------------------------- /app/src/main/resources/application.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/main/resources/application.conf -------------------------------------------------------------------------------- /app/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/main/resources/logback.xml -------------------------------------------------------------------------------- /app/src/main/scala/EchodApplication.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/main/scala/EchodApplication.scala -------------------------------------------------------------------------------- /app/src/main/scala/EchodModule.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/main/scala/EchodModule.scala -------------------------------------------------------------------------------- /app/src/main/scala/grpc/AccessTokenCallCredentials.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/main/scala/grpc/AccessTokenCallCredentials.scala -------------------------------------------------------------------------------- /app/src/main/scala/grpc/EchoClient.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/main/scala/grpc/EchoClient.scala -------------------------------------------------------------------------------- /app/src/main/scala/grpc/EchoServer.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/main/scala/grpc/EchoServer.scala -------------------------------------------------------------------------------- /app/src/main/scala/grpc/UserContextServerInterceptor.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/main/scala/grpc/UserContextServerInterceptor.scala -------------------------------------------------------------------------------- /app/src/main/scala/models/UserContext.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/main/scala/models/UserContext.scala -------------------------------------------------------------------------------- /app/src/main/scala/services/EchoService.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/main/scala/services/EchoService.scala -------------------------------------------------------------------------------- /app/src/main/scala/util/FileUtils.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/main/scala/util/FileUtils.scala -------------------------------------------------------------------------------- /app/src/main/scala/util/KeyUtils.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/main/scala/util/KeyUtils.scala -------------------------------------------------------------------------------- /app/src/test/resources/jwt/generate-test-jwt-signing-keys.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/test/resources/jwt/generate-test-jwt-signing-keys.sh -------------------------------------------------------------------------------- /app/src/test/resources/jwt/test-jwt-signing-key-private.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/test/resources/jwt/test-jwt-signing-key-private.pem -------------------------------------------------------------------------------- /app/src/test/resources/jwt/test-jwt-signing-key-public.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/test/resources/jwt/test-jwt-signing-key-public.pem -------------------------------------------------------------------------------- /app/src/test/resources/ssl/generate-test-ssl-assets.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/test/resources/ssl/generate-test-ssl-assets.sh -------------------------------------------------------------------------------- /app/src/test/resources/ssl/localhost-client-ca-cert.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/test/resources/ssl/localhost-client-ca-cert.pem -------------------------------------------------------------------------------- /app/src/test/resources/ssl/localhost-client-cert.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/test/resources/ssl/localhost-client-cert.pem -------------------------------------------------------------------------------- /app/src/test/resources/ssl/localhost-client-key.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/test/resources/ssl/localhost-client-key.pem -------------------------------------------------------------------------------- /app/src/test/resources/ssl/localhost-server-ca-cert.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/test/resources/ssl/localhost-server-ca-cert.pem -------------------------------------------------------------------------------- /app/src/test/resources/ssl/localhost-server-cert.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/test/resources/ssl/localhost-server-cert.pem -------------------------------------------------------------------------------- /app/src/test/resources/ssl/localhost-server-key.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/test/resources/ssl/localhost-server-key.pem -------------------------------------------------------------------------------- /app/src/test/resources/test.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/test/resources/test.conf -------------------------------------------------------------------------------- /app/src/test/scala/BaseSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/test/scala/BaseSpec.scala -------------------------------------------------------------------------------- /app/src/test/scala/EchoServerSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/test/scala/EchoServerSpec.scala -------------------------------------------------------------------------------- /app/src/test/scala/EchodTestModule.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/test/scala/EchodTestModule.scala -------------------------------------------------------------------------------- /app/src/test/scala/UserContextSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/app/src/test/scala/UserContextSpec.scala -------------------------------------------------------------------------------- /deploy/.gitignore: -------------------------------------------------------------------------------- 1 | artifacts/ 2 | -------------------------------------------------------------------------------- /deploy/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/deploy/README.md -------------------------------------------------------------------------------- /deploy/echod/.helmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/deploy/echod/.helmignore -------------------------------------------------------------------------------- /deploy/echod/Chart.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/deploy/echod/Chart.yaml -------------------------------------------------------------------------------- /deploy/echod/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/deploy/echod/LICENSE -------------------------------------------------------------------------------- /deploy/echod/templates/client-secret.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/deploy/echod/templates/client-secret.yaml -------------------------------------------------------------------------------- /deploy/echod/templates/deployment.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/deploy/echod/templates/deployment.yaml -------------------------------------------------------------------------------- /deploy/echod/templates/jwt-secret.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/deploy/echod/templates/jwt-secret.yaml -------------------------------------------------------------------------------- /deploy/echod/templates/server-secret.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/deploy/echod/templates/server-secret.yaml -------------------------------------------------------------------------------- /deploy/echod/templates/svc.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/deploy/echod/templates/svc.yaml -------------------------------------------------------------------------------- /deploy/echod/values.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/deploy/echod/values.yaml -------------------------------------------------------------------------------- /doc/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/doc/README.md -------------------------------------------------------------------------------- /gateway/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/gateway/.gitignore -------------------------------------------------------------------------------- /gateway/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/gateway/Dockerfile -------------------------------------------------------------------------------- /gateway/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/gateway/Makefile -------------------------------------------------------------------------------- /gateway/install-gateway.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/gateway/install-gateway.sh -------------------------------------------------------------------------------- /gateway/src/gateway/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/gateway/src/gateway/main.go -------------------------------------------------------------------------------- /protobuf/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/protobuf/README.md -------------------------------------------------------------------------------- /protobuf/src/echo.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/protobuf/src/echo.proto -------------------------------------------------------------------------------- /protobuf/src/google/api/annotations.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/protobuf/src/google/api/annotations.proto -------------------------------------------------------------------------------- /protobuf/src/google/api/http.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/protobuf/src/google/api/http.proto -------------------------------------------------------------------------------- /protobuf/src/google/protobuf/descriptor.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/protobuf/src/google/protobuf/descriptor.proto -------------------------------------------------------------------------------- /util/generate-jwt-signing-keys.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/util/generate-jwt-signing-keys.sh -------------------------------------------------------------------------------- /util/generate-self-signed-ssl-assets.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vyshane/grpc-scala-microservice-kit/HEAD/util/generate-self-signed-ssl-assets.sh --------------------------------------------------------------------------------