Skip to content
Tim Hess edited this page Jul 21, 2025 · 7 revisions

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.

  • Steeltoe 4.x requires .NET 8 or higher.
  • Steeltoe 3.x requires .NET Core 3.1 or higher.
  • Steeltoe 2.x requires .NET Framework 4.5.2 or higher.

Today, most Steeltoe components work in a stand-alone environment, as well as on cloud platforms (Kubernetes and Cloud Foundry).

Steeltoe components are built for .NET developers to quickly leverage some of the basic patterns typically found in highly scalable and resilient distributed applications. Key features include:

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 can be found under the SteeltoeOSS organization on GitHub.

Steeltoe Core Components

These are located in the Steeltoe repository:

  • Configuration - configuration providers that extend the reach of .NET Configuration services
  • Common - common packages used by other Steeltoe components
  • Connectors - simplify the process of configuring and using back-end services locally and in the cloud
  • Discovery - register and discover services locally and in the cloud
  • Logging - view and change minimum log levels at runtime
  • Management - monitoring and management endpoints for web applications
  • Security - simplify integration of security services provided by the cloud platform

Other Repositories

  • Samples - our collection of samples, used as a reference for .NET application development with Steeltoe
  • Documentation - the source for the Steeltoe.io website
  • Initializr - quickly create a new .NET project that uses Steeltoe libraries
  • Dockerfiles - dockerfiles and pipelines for producing container images to be used with Steeltoe samples and for Steeltoe development
  • Schema - Generates the JSON configuration schema that provides auto-completion in appsettings.json

Releases

Steeltoe releases are listed in the Steeltoe repository and are available on NuGet.org. For ongoing work, see the issue milestones or access pre-release packages.

Release Types

  • Beta (for example: beta1, beta2 ...) A beta is a release that contains a subset of the full features planned for a release. Beta releases allow significant changes to be tested earlier in the release cycle. A beta release is not meant for production environments.
  • Release Candidate (for example: rc1, rc2, ...) A release candidate contains a full feature set and is available to the community for finding any last-minute major issues before the GA version is released. There could still be source code changes to fix defects, changes to documentation, and test cases, but these releases are generally considered production-grade and (until a GA release is available) their usage is supported in production environments.
  • General Availability (GA) This is the full-featured and fully tested release, available to the public for use in production environments.

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 next Steeltoe version occurs in the main branch of the Steeltoe repository.

The source code for released versions can be found by their git tag. For each released major version, a branch is available that contains the latest changes for that version. For example: 2.x, 3.x, 4.x.

Similar branches exist in other repositories. For example, the main branch in Samples builds against the development NuGet feed, which is populated from the Steeltoe main branch. In contrast, its 2.x, 3.x and 4.x branches build against the latest related Steeltoe version on nuget.org.

Building from Source

Steeltoe components can be built from source with a recent version of the .NET 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 Filter (.slnf) files are provided for each component, along with a single .sln file that contains all components.

Running the tests

Running the integration tests requires Config Server and Eureka to be running. See here for how to start them.

Governance Model

As a member of the .NET Foundation, the Steeltoe project has adopted a project governance model in line with the recommendations made 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.