Giter Site home page Giter Site logo

Comments (4)

pinkfloydx33 avatar pinkfloydx33 commented on June 1, 2024 1

Taking Serilog as an example, they call them Serilog.Extensions.Hosting and Serilog.AspNetCore. The latter is exactly like what I'm proposing with basically Middleware and AppBuilder/ServiceCollection extensions and a reference to/dependency on the former.

So perhaps:

  • Foundatio.Extensions.Hosting
  • Foundatio.AspNetCore

I'm having oral surgery tomorrow. Not sure how willing I'll be to do anything immediately, but certainly something I can contribute to.

from foundatio.

ejsmith avatar ejsmith commented on June 1, 2024

Hmm... not opposed to breaking it up, but I'd prefer not to. Our job services still use web just so they can serve health and readiness probes. How much is it adding to the docker image?

from foundatio.

pinkfloydx33 avatar pinkfloydx33 commented on June 1, 2024

It adds the entirety of the aspnetcore shared framework. Not at my desk atm to check size, but it's considerable compared to the size without it.

HealthChecks is its own set of packages and doesn't need aspnet. Obviously you can use it to expose endpoints but that's not required. You can still make use of the abstractions and health check service from within a Worker Service application without pulling in all of aspnet (we do that in other non webapps that don't use foundatio). It's about selecting the right dependencies.

I realize the tools in this package are conveniences...the background service is our primary use case. I'd reimplement it myself for our own use but that seems heavy handed. I dont need the probes in this case.

FWIW: one can write to files or expose other health check reporters... if you want the endpoint, it's easy to create an http-listener backed service that publishes the results without bringing in all of aspnet. I'm not by any means saying to do that here, just calling out it can be done. There's examples on the web for exposing file based reporters for k8s probes etc. as well. It's a great set of tools.

To me, what's here would really make sense as two packages so it could be consumed independently depending on how you are leveraging the rest of foundatio. Not everything is a web app ;-)

from foundatio.

ejsmith avatar ejsmith commented on June 1, 2024

Yeah, what you are saying makes sense. Not sure what we would call the 2 different packages. Ideas? Can you create a PR for the changes?

from foundatio.

Related Issues (20)

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.