A light-weight, low ceremony app fabric for .NET
CrossStitch follows some of the same basic guidelines: Complexity emerges from repeating and combining large numbers of very simple building blocks. Here are some of the design goals for CrossStitch:
The initial release is expected to run on .NET Framework 4.6, but portability to Mono and .NET Core are on the roadmap and are highly desireable
The heart of CrossStitch is CrossStitch.Core.dll
, which implements the core logic and infrastructure. CrossStitch is modular by design, and different combinations and configurations of modules can lead to different behaviors.
With a backplane module installed, CrossStitch instances from across a network can self-assemble into a cluster, and allow coordinated operations and communication.
With an HTTP module installed, CrossStitch instances will expose an HTTP API which can be used to query state and issue commands to the node, and may even expose a UI for easy browser-based interactions.
The stitches module allows the node to host Stitch applications. Omitting it frees the node to perform other tasks with greater focus.
A logging module allows you to get and persist debug logs from both the core process and the running Stitches.
An alerting module allows CrossStitch to push alerts to your IT team when things are going wrong or when Stitches are becoming unresponsive.
By following best practices for loosely-coupled applications, we should be able to have a system where some or all of these modules are provided or omitted, and the system should function as expected.
CrossStitch is looking for good developers, including C# developers and developers for other languages and specialities.
The easiest way to get involved is to create a Fork on Github, start making changes and additions, and then open a Pull Request.
CrossStitch is available under the Apache 2.0 license, and all contributions should be made with that in mind.