Skip to content
This repository contains all the core components of Steeltoe: CircuitBreaker, Configuration, Connectors, Discovery, Logging, Management, and Security
C#
Branch: master
Clone or download
Latest commit 341051c Oct 22, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Revert "Update issue templates" Aug 22, 2019
build sign nupkg and snupkg Jun 19, 2019
roadmaps Update 2.2.0.md Oct 14, 2019
src mock some http interactions to enable testing OpenIdConnect Oct 15, 2019
.editorconfig add .editorconfig Oct 15, 2019
.gitattributes Initial checkin Oct 9, 2017
.gitignore Add support for DbMigrations endpoint (#87) Jul 26, 2019
LICENSE Add License Apr 23, 2019
README.md Add basic instructions to build from source Oct 22, 2019
Steeltoe.ruleset Clear up method signature overlap, flag future occurences as error, i… Jul 2, 2019
azure-pipelines.yml drop GemFire support Oct 15, 2019
codecov.yml Add a codecov.yml file Jun 3, 2019
nuget.config Set up CI with Azure Pipelines (#1) May 14, 2019
sharedproject.props Update Pipeline to set FileVersion as expected (#103) Aug 19, 2019
sharedtest.props Set up CI with Azure Pipelines (#1) May 14, 2019
steeltoe.snk Set up CI with Azure Pipelines (#1) May 14, 2019
stylecop.json
targetframework.props Set up CI with Azure Pipelines (#1) May 14, 2019
versions.props Update Pipeline to set FileVersion as expected (#103) Aug 19, 2019

README.md

Steeltoe

Build Status

Introduction

Steeltoe is an open source project aimed at developing cloud native .NET microservice applications. This project provides libraries that follow similar development patterns from well-known and proven microservice libraries like Netflix OSS, Spring Cloud and others.

Steeltoe libraries are built on top of .NET APIs, following the .NET Standard 2.0 specification. Therefore, Steeltoe allows you work with .NET Core and .NET Framework 4.x.

Today, most Steeltoe components work in a stand-alone environment as well other PaaS implementations.

Steeltoe components typically build on other technology offerings, such as Netflix OSS and Spring Cloud by providing several packages that enable .NET developers to quickly leverage these tools when implementing some of the basic patterns (for example: centralized configuration management, service discovery, circuit breakers, etc.) typically found in highly scalable and resilient distributed applications.

Steeltoe provides services that broadly fall into two categories:

  • Services that simplify using .NET and ASP.NET on cloud platforms like Cloud Foundry:

    • Connectors (MySql, PostgreSQL, Microsoft SQL Server, RabbitMQ, Redis, OAuth, etc)
    • Configuration
    • Security (OAuth SSO, JWT, Redis Key Ring Storage, etc.)
    • Logging
  • Services that enable .NET and ASP.NET developers to leverage Netflix OSS, Spring Cloud and other industry leading services:

    • Configuration providers (Spring Cloud, Vault, etc.)
    • Service Discovery client (Netflix Eureka, etc.)
    • CircuitBreaker (Netflix Hystrix, etc.)
    • Management

Steeltoe is freely available for production application usage today. Be sure to visit the official Steeltoe site.

Project Repositories

Steeltoe is fully open source and is found under the SteeltoeOSS organization on GitHub.

Steeltoe Core Components

These are located in the Steeltoe repository:

  • Configuration - configuration providers which extend the reach of .NET Configuration services
  • Common - Common packages to other Steeltoe components
  • CircuitBreaker - monitor and isolate requests to remote dependent services with latency and fault tolerance logic
  • Connectors - simplify the process of configuring and using back-end services locally and in the cloud
  • Discovery - provide the ability to register and discover services locally and in the cloud
  • Logging - adds logging extensions
  • Management - add monitoring and management to production based application
  • Security - simplify integration of security services provided by the cloud platform

Other Repositories

  • Samples - Our collection of Sample applications used as a reference for Steeltoe .NET Application development
  • Initializr - The Steeltoe Initializr source code
  • Tooling - Steeltoe SDK and Tooling
  • Dockerfiles - Our collection of docker files we have on dockerhub
  • eShopOnContainers - Sample reference microservice and container based application with added Steeltoe capabilities (Forked and updated from dotnet-architecture org)
  • Steeltoe-site - All of the steeltoe.io website and documentation artifacts

Roadmaps

Getting Started

  1. Follow any "Get Started" link on the Steeltoe site
  2. Review, run, and modify the extensive collection of Samples available on Github
  3. To get down into the details of any Steeltoe project, read the documentation

Contributing

The Steeltoe project welcomes contributions on GitHub both by filing issues and through PRs. You are also welcome to join our discussions on Slack

Check out the contributing guidelines page to see how you can get involved and contribute to Steeltoe.

Also its worth noting, the Steeltoe project has adopted the code of conduct defined by the Contributor Covenant. If you'd like more information, see the .NET Foundation Code of Conduct write-up.

Getting the Code

The development of the core components of Steeltoe is done out of the steeltoe repository on the master branch.

Maintenance branches are created after each major release (i.e. 2.x) and minor branches (i.e. 2.2.x) are created as needed for regressions, and/or security issues.

All release and release candidate packages are listed under the tags section on GitHub (e.g. 2.2.0).

The latest Steeltoe packages from each branch can be found on MyGet.

The released and release candidates can be found on NuGet.

Building from Source

Steeltoe components can be built from source with a recent version of the .NET Core SDK on Windows, Linux or MacOS. Any IDE that supports .NET is expected to work - core contributors regularly use Visual Studio, Visual Studio Code and JetBrains Rider. Visual Studio Solution (.sln) files are provided for each component, along with a single .sln file that will load all components.

Governance Model

As a member of the .NET Foundation, the Steeltoe project has adopted a project governance model in line with that recommended by the Foundation.

Licenses

The Steeltoe project uses the Apache License Version 2.0 license for all of its code. See the contribution licensing document for more details.

You can’t perform that action at this time.