Coder Social home page Coder Social logo

davidfowl / micronetes Goto Github PK

View Code? Open in Web Editor NEW
775.0 43.0 48.0 1.14 MB

Micronetes is a local orchestrator inspired by kubernetes that makes developing and testing microservices and distributed applications easier.

License: MIT License

C# 91.38% HTML 5.89% CSS 2.73%
microservices kubernetes netcore dotnet-core

micronetes's Introduction

Micronetes

Micronetes has evolved into Project Tye. Further development will continue there.

micronetes's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

micronetes's Issues

Will the project be further developed?

Hello team,

I have some questions about the project:

  1. Will the project be further developed? (last committed on Jan 25)
  2. Do you plan to make some wiki pages? (for newcomers)
  3. What can be stored in http://localhost:8001/services/* route? (as I understand it's service information, but what specific information will be there? Currently it's blank)

Thanks

will there be a video / community standup ?

I am always impressed by David's "Bastelecke" (his Git repository). But unfortunately I don't have the time (maybe also the knowledge) to deal with interesting projects like Micronetes. After all, I use SignalR productively. :)
I imagine a short video or a community standup about Micronetes would help me a lot. (for Bedrock, FeatherHttp) the same applies. A video to easily pick up simple developers.

Handle jobs that run to completion

This is an entire feature area but right now the orchestrator only works for long running processes. Running m8s on one of these projects will start and restart it constantly.

Cancel startup

When running multiple dotnet processes (which takes a while on a Mac for Microsoft reasons), the startup process takes some time (one minute in my case). When pressing Ctrl+C in the meanwhile, some processes are killed, but processes that are not started yet will continue to start, which slows down the cancellation process. At the end, the result is correct - all processes are quit - but it just takes unnecessary long.

Unable to run a project service if the executable name differs from the project name

Like most people, we prefix our compiled file names and namespaces with our company name - OurCompany.Foo.Service.dll. However, in the file structure we leave off the company name because it's just noise. So we'll have a project named Foo.Service.csproj that produces an assembly named OurCompany.Foo.Service.dll.

I'm guessing m8s derives the assembly name from the project file name rather than reading the project file to determine what the assembly name should be. The error it gives me is...
You intended to execute a .NET Core program, but dotnet-Foo\Foo.Service\bin\Debug\netcoreapp3.1\Foo.Service.dll does not exist.

Support for container networks / multicontainer workloads

This project is a great project!

I defined a m8s file to standup a ElasticSearch and Kibana along with my csproj and noticed that there isn't support yet for linking containers or for joining them the same docker network.

I also had a little trouble scripting around that limitation because of the randomization of the container names.

I know there can't be support for everything, but a way to mark the containers as belonging to the same network would be useful.

An example design follows:

Allow the defining of a dockerNetwork property on the ServiceDescription object. Container services that share the same network name are implicitly joined together into that network.

- name: elasticsearch
  dockerImage: docker.elastic.co/elasticsearch/elasticsearch:7.5.1
  env:
    'discovery.type': 'single-node'
  dockerNetwork: elknet
  bindings:
    - port: 9300
    - port: 9200

- name: kibana
  dockerImage: docker.elastic.co/kibana/kibana:7.5.1
  dockerNetwork: elknet
  bindings:    
    - port: 5601

m8s could auto define a random network with a random name like 'elknet_a175ce22-4' and then add both containers to it. I would also recommend automatically adding the service name as an alias or perhaps allowing it to be an additional config option

Example commands below:

docker network create elknet_a175ce22-4
docker network connect --alias elasticsearch elknet_a175ce22-4 elasticsearch_b613c144-b
docker network connect --alias kibana elknet_a175ce22-4 kibana_17185168-a

Choose branch

First of all, Thank for this @davidfowl ! Such a great thing to have.

Was wondering that maybe a nice addition could be added support to choose the branch that is used and build it.

Add validation rules for the model

Today we don't validate the application model which makes it easy to make mistakes that are hard to detect. We should have a validation system in place so that when the model is built in an invalid way it should fail with a good error message.

Start adding tests

The project has enough code now that it's time to start adding some tests to it.

What's the difference with tye?

I saw the dotnet/tye project and surprised to find out that they both having same features soemthing like local orchestrator .
so , i want known What's the difference with tye?

Dapr integration for development

There should be a way to specify that the orchestrator should launch dapr and it would appropriately wire up all of the ports and app name to make it work.

Use a specific yaml file name

There are too many yaml files to scan for all of them docker compose, k8s yaml files, random other files. It makes sense to look for a specifically named one. The only downside to this is that it means one per folder.

Build parameter for CLI

Adding a -build option to m8s command to initiate building for each project: defined service in the .yaml file. This will ease clone-and-fire for many project scenarios when orchestrating with m8s.

(Doesn't look like an immediate requirement)

localhost app doesn't resolve running under WSL

Walk-through example.

Dashboard runs, localhost:5000, 5001 does not load.

m8s run frontend --port 8001
[09:21:12 INF] Executing application from  /home/spboyer/play/microplay/frontend/frontend.csproj
[09:21:12 INF] Dashboard running on http://127.0.0.1:8001
[09:21:12 INF] Building project /home/spboyer/play/microplay/frontend/frontend.csproj
[09:21:14 INF] Launching service frontend_a652bcc0-1: /home/spboyer/play/microplay/frontend/bin/Debug/netcoreapp3.1/frontend 
[09:21:14 INF] frontend_a652bcc0-1 running on process id 5775 bound to https://localhost:5001, http://localhost:5000
[09:21:14 INF] Listening for event pipe events for frontend_a652bcc0-1 on process id 5775

Logs

dotnet build "/home/spboyer/play/microplay/frontend/frontend.csproj" /nologo
Restore completed in 31.41 ms for /home/spboyer/play/microplay/frontend/frontend.csproj.
frontend -> /home/spboyer/play/microplay/frontend/bin/Debug/netcoreapp3.1/frontend.dll
frontend -> /home/spboyer/play/microplay/frontend/bin/Debug/netcoreapp3.1/frontend.Views.dll
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:01.26
[frontend_55058c48-7]:/home/spboyer/play/microplay/frontend/bin/Debug/netcoreapp3.1/frontend
[frontend_55058c48-7]: �[40m�[32minfo�[39m�[22m�[49m: Microsoft.Hosting.Lifetime[0]
[frontend_55058c48-7]: Now listening on: https://localhost:5001
[frontend_55058c48-7]: �[40m�[32minfo�[39m�[22m�[49m: Microsoft.Hosting.Lifetime[0]
[frontend_55058c48-7]: Now listening on: http://localhost:5000
[frontend_55058c48-7]: �[40m�[32minfo�[39m�[22m�[49m: Microsoft.Hosting.Lifetime[0]
[frontend_55058c48-7]: Application started. Press Ctrl+C to shut down.
[frontend_55058c48-7]: �[40m�[32minfo�[39m�[22m�[49m: Microsoft.Hosting.Lifetime[0]
[frontend_55058c48-7]: Hosting environment: Development
[frontend_55058c48-7]: �[40m�[32minfo�[39m�[22m�[49m: Microsoft.Hosting.Lifetime[0]
[frontend_55058c48-7]: Content root path: /home/spboyer/play/microplay/frontend

Non interactive option for m8s run command

Much like docker-compose, it would be useful for scripting scenarios (where running m8s is one step among others), to make the running non-blocking.

Docker compose has a -d (long form: --detach) for its up & run commands. Once the initialisation process completes, it goes background.

After checking docker-compose sources (https://github.com/docker/compose), I'm not sure how to implement it in netcore. But still, It would be a nice addition.

Use case: a script that...

  • Builds each net core involved project Update: m8s now builds by default, so build step(s) not needed (for this scenario at least)
  • Initiates a Functions project locally using its Core Tools (which I think would benefit of such a feature itself)
  • Runs an m8s run m8s.yaml command
  • Notifies completion state for a second or two, then finishes.

Sounds reasonable?

Add management UI

Light read-only UI for the API being exposed to view services, logs and metrics.

Add port mapping for Docker containers

Please add the possibility to specify an internal and an external port for Docker containers. We run multiple MySQL Docker containers (that all listen to port 3306) and want to expose them to different external ports.

You can achieve this by replacing the second port in $"-p {p.Port}:{p.Port}" with the internal port.

Pre net core 3.1 support

A multi-project solution might still coexist 3.1 and earlier .net core versions across projects. Are there plans to support older framework versions? Seen a comment on using MSBuild to support path auto discovery.

Prereq: the corresponding version should be already installed.

Add log collector

We need the ability to collect the logs (stdout + stderr) from every process into one or more files so that other processes can parse the log during lifetime and post-mortem.

Debugging?

This looks super interesting!

How would we go about hooking debuggers etc. to this so we can use say vs code once spun up?

Getting Started doc: consider the lack of a self-signed certificate for SSL on Linux

Valid for Linux based development
Those following the step by step on the Getting Started guide, on Linux, will notice an error at frontend web site url hitting time. This is due to the fact that Startup.cs, created by dotnet templates, enforces an HTTPS redirection (for Production time, even HSTS is enforced).

As Linux doesn't get an auto self-signed certificate as Windows and MacOS do, it crashes.

Options:

  1. Comment these enforcements right after dotnet new
  2. Haven't tested @andrewlock's proposal yet:
    https://andrewlock.net/creating-and-trusting-a-self-signed-certificate-on-linux-for-use-in-kestrel-and-asp-net-core/

Perhaps this is worth mentioning in documentation?

XPlat building for m8s - Issues on Linux with nested dependency (Lib2Git)

With macOS (Catalina), building from source worked great for me :)

For Linux, the story is different, mostly because of the difficulty to deal with Lib2Git.NativeBinaries.

Using Ubuntu 19.04 for testing:
(till here, couldn't make it work. Pointing some links that can get you closer)

The error displayed at dotnet build time:

/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: The "Nerdbank.GitVersioning.Tasks.GetBuildVersion" task failed unexpectedly. [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: System.TypeInitializationException: The type initializer for 'LibGit2Sharp.Core.NativeMethods' threw an exception. [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:  ---> System.DllNotFoundException: Unable to load shared library '/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/MSBuildCore/../runtimes/linux-x64/native/libgit2-572e4d8.so' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libssl.so.1.0.0: cannot open shared object file: No such file or directory [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at System.Runtime.Loader.AssemblyLoadContext.InternalLoadUnmanagedDllFromPath(String unmanagedDllPath) [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at System.Runtime.Loader.AssemblyLoadContext.LoadUnmanagedDllFromPath(String unmanagedDllPath) [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at Nerdbank.GitVersioning.GitLoaderContext.LoadUnmanagedDll(String unmanagedDllName) [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at System.Runtime.Loader.AssemblyLoadContext.ResolveUnmanagedDll(String unmanagedDllName, IntPtr gchManagedAssemblyLoadContext) [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at LibGit2Sharp.Core.NativeMethods.git_libgit2_init() [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at LibGit2Sharp.Core.NativeMethods.InitializeNativeLibrary() [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at LibGit2Sharp.Core.NativeMethods..cctor() [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    --- End of inner exception stack trace --- [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at LibGit2Sharp.Core.NativeMethods.git_libgit2_opts(Int32 option, UInt32 level, String path) [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at LibGit2Sharp.Core.Proxy.git_libgit2_opts_set_search_path(ConfigurationLevel level, String path) [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at LibGit2Sharp.GlobalSettings.SetConfigSearchPaths(ConfigurationLevel level, String[] paths) [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at Nerdbank.GitVersioning.GitExtensions.OpenGitRepo(String pathUnderGitRepo, Boolean useDefaultConfigSearchPaths) [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at Nerdbank.GitVersioning.VersionOracle.Create(String projectDirectory, String gitRepoDirectory, ICloudBuild cloudBuild, Nullable`1 overrideBuildNumberOffset, String projectPathRelativeToGitRepoRoot) [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at Nerdbank.GitVersioning.Tasks.GetBuildVersion.ExecuteInner() [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]

Build FAILED.

/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: The "Nerdbank.GitVersioning.Tasks.GetBuildVersion" task failed unexpectedly. [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: System.TypeInitializationException: The type initializer for 'LibGit2Sharp.Core.NativeMethods' threw an exception. [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:  ---> System.DllNotFoundException: Unable to load shared library '/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/MSBuildCore/../runtimes/linux-x64/native/libgit2-572e4d8.so' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libssl.so.1.0.0: cannot open shared object file: No such file or directory [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at System.Runtime.Loader.AssemblyLoadContext.InternalLoadUnmanagedDllFromPath(String unmanagedDllPath) [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at System.Runtime.Loader.AssemblyLoadContext.LoadUnmanagedDllFromPath(String unmanagedDllPath) [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at Nerdbank.GitVersioning.GitLoaderContext.LoadUnmanagedDll(String unmanagedDllName) [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at System.Runtime.Loader.AssemblyLoadContext.ResolveUnmanagedDll(String unmanagedDllName, IntPtr gchManagedAssemblyLoadContext) [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at LibGit2Sharp.Core.NativeMethods.git_libgit2_init() [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at LibGit2Sharp.Core.NativeMethods.InitializeNativeLibrary() [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at LibGit2Sharp.Core.NativeMethods..cctor() [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    --- End of inner exception stack trace --- [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at LibGit2Sharp.Core.NativeMethods.git_libgit2_opts(Int32 option, UInt32 level, String path) [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at LibGit2Sharp.Core.Proxy.git_libgit2_opts_set_search_path(ConfigurationLevel level, String path) [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at LibGit2Sharp.GlobalSettings.SetConfigSearchPaths(ConfigurationLevel level, String[] paths) [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at Nerdbank.GitVersioning.GitExtensions.OpenGitRepo(String pathUnderGitRepo, Boolean useDefaultConfigSearchPaths) [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at Nerdbank.GitVersioning.VersionOracle.Create(String projectDirectory, String gitRepoDirectory, ICloudBuild cloudBuild, Nullable`1 overrideBuildNumberOffset, String projectPathRelativeToGitRepoRoot) [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
/home/user/.nuget/packages/nerdbank.gitversioning/3.0.28/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at Nerdbank.GitVersioning.Tasks.GetBuildVersion.ExecuteInner() [/home/user/src/Micronetes/src/Micronetes.Hosting.Runtime/Micronetes.Hosting.Runtime.csproj]
    0 Warning(s)
    1 Error(s)

Support for ingress

Today Micronetes supports L4 load balancing by proxying TCP traffic over through a custom proxy. We need to support scenarios where that load balancing is L7 and supports session affinity (for things like SignalR and Blazor Server which uses SignalR).

m8s with Azure functions

Question: Can we use m8s to run Azure Functions?
Context: We have a serverless solution that contains around 10 function apps we have. Is it possible to use m8s to run all of them? I tried running - but looks like m8s is trying to do "dotnet run" whereas functions use "func start". M8S would be a great tool for a situation like what we have in our project. Thoughts?

Authentication / Windows GMSA support?

I've had a need for Windows GMSA support and worked with my co-worker early last year to help test it in K8s. Would you or others find it useful for m8s to have the ability to pass down some credential spec to the underlying containers?

Add heathcheck support

We should add health checking support to the host to know if a service is running properly.

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.