Coder Social home page Coder Social logo

ozziepeeps / featherservicetest Goto Github PK

View Code? Open in Web Editor NEW

This project forked from clarkezone/featherservicetest

0.0 0.0 0.0 128 KB

A playground for building minimal grpc endpoints using featherhttp

License: Apache License 2.0

C# 37.99% Dockerfile 10.09% PowerShell 36.44% Bicep 15.48%

featherservicetest's Introduction

featherservicetest

A playground for building minimal grpc service endpoints in donetcore using featherhttp.

.NET Coverage Status

Backlog Phase 1

Theme: Hello world for frontend, Infra

  • Get basic working gRPC endpoint running using featherhttp
  • Simple unit test
  • Dockerize
  • Set up basic CI/CD pipeline using github actions
  • Enforce PR workflow gated by tests
  • Add git versioning https://github.com/dotnet/Nerdbank.GitVersioning
  • Dotnetcore cli client
  • Bicep for creating ACR infra
  • Local docker build works using selfsigned cert with test client
  • Release branch push prod container to ACR
  • Figure out ACR login via docker
  • Fix client-side logging
  • Investigate adding code coverage metrics
  • Add editor config
  • Add service-side logging / tracing
  • Add self-signed cert support when hosted on Linux
  • Add basic Prometheus metric publishing
  • Replace greeter with bi-directional simple streaming ping/pong gRPC
  • Helm chart to deploy to K8s
  • Add basic health probe
  • Script / action to deploy to k3s cluster
  • Script / action to deploy to ACI

Backlog Phase 2

Theme: Hello microservice

  • Add production SSL cert with Azure keyvault
  • Add a backend microsevice (eg a simple in-memory queue)
  • Add Open Telemetry Jaeger distributed tracing
  • Add Project Tye
  • Add OSM support
  • Add DAPR support
  • Golang client ? Authentication for front end gRPC

Backlog Phase 3

Theme: Moah backend service integration

Dev setup

Pre-requs

  • VSCode
  • Docker
  • dotnet 5 RTM

Steps

  1. Build docker image:
    • cd src\BasicService
    • docker build -t feathertestservice:0 .
  2. Create self-signed cert (Taken from https://docs.microsoft.com/en-us/dotnet/core/additional-tools/self-signed-certificates-guide)
    • powershell .\localdev\createsscert.ps1
    • Start certmgr
    • Confirm that contoso.com is listed in Trusted Root Certificate Authorities\Certificates
  3. Add an entry for contoso.com in hosts file
    • code C:\Windows\System32\drivers\etc\hosts
    • add hosts entry 127.0.0.1 contoso.com
  4. Run docker image:
    • docker run --rm -it -p 3000:3000 -p 3001:3001 -e ASPNETCORE_URLS="https://+;http://+" -e ASPNETCORE_HTTPS_PORT=3001 -e ASPNETCORE_ENVIRONMENT=Development -e ASPNETCORE_Kestrel__Certificates__Default__Password="password" -e ASPNETCORE_Kestrel__Certificates__Default__Path=/https/contoso.com.pfx -e Logging__LogLevel__Microsoft=Debug -e Logging__LogLevel__Grpc=Debug -v /c/certs:/https/ feathertestservice:0
  5. Run client
    • cd src\BasicClient
    • dotnet run

featherservicetest's People

Contributors

clarkezone avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.