Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions .github/workflows/check-links.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Check broken links

on:
workflow_dispatch:
schedule:
# Run weekly on Sundays at 00:00 UTC
- cron: '0 0 * * 0'
pull_request:
paths:
- '**.md'
- 'docs/**'

permissions:
contents: read
issues: write

jobs:
check-links:
name: Check links in documentation
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6

- name: Check links with lychee
uses: lycheeverse/lychee-action@v2
with:
# Check all markdown files
args: |
--verbose
--no-progress
--accept 100..=103,200..=299,403,429
--exclude-mail
--exclude 'localhost'
--exclude 'steeltoe.io'
--exclude 'start.steeltoe.io'
--exclude-path '.git'
--max-retries 3
--timeout 30
'**/*.md'
# Don't fail the workflow, just report
fail: true
# Create an issue if broken links are found
jobSummary: true

- name: Create Issue From File
if: failure()
uses: peter-evans/create-issue-from-file@v5
with:
title: Broken links detected
content-filepath: ./lychee/out.md
labels: bug, documentation
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ Through either the web UI or the rest endpoints, Initializr will get your micros

Initializr's API offers a few very helpful endpoints. It's how the web UI is able to create such a great experience and how the community could extend its capabilities into Visual Studio or other developer related tools.

Below is a brief explanation of Initializr's top level endpoints. But the conversation doesn't stop there. Each of these endpoints offer all kinds of deeper sub-url's that drill down to specifics of Initializr's config. Read more about [them here](../docs/v4/initializr/index.md).
Below is a brief explanation of Initializr's top level endpoints. But the conversation doesn't stop there. Each of these endpoints offer all kinds of deeper sub-url's that drill down to specifics of Initializr's config. Read more about [them here](../docs/v4/initializr/index.html).

**Endpoint Home**

Expand All @@ -95,7 +95,7 @@ Below is a brief explanation of Initializr's top level endpoints. But the conver

## About dependencies

Initializr's special sauce is the collection of dependencies. It's the reason the tool is so powerful. It's also worthy of an entire discussion - there's quite a few moving parts. We're not going to get too deep in Initializr's inner workings at this time. So, if you would like to get deeper the [project's documentation](../docs/v4/initializr/index.md) is waiting just for you.
Initializr's special sauce is the collection of dependencies. It's the reason the tool is so powerful. It's also worthy of an entire discussion - there's quite a few moving parts. We're not going to get too deep in Initializr's inner workings at this time. So, if you would like to get deeper the [project's documentation](../docs/v4/initializr/index.html) is waiting just for you.

When Initializr generates a new project that has added dependencies, the templating is used to “fill in the blanks”. Let see an example of this in action.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Steeltoe makes things like production ready database connections a single line o

Steeltoe 3.0 is a product of years of learning. Small businesses and large enterprises have all been benefiting and contributing to this new release. It’s a fresh take on cloud opinions that seemingly never get answered. It’s the next evolution for your microservices to go to cloud ninja status.

> If you’re moving from Steeltoe 2.x and would like a quick comparison with version 3.0, refer to [this page](/docs/v3/welcome/whats-new.md).
> If you’re moving from Steeltoe 2.x and would like a quick comparison with version 3.0, refer to [this page](/docs/v3/welcome/whats-new.html).

Let's take a look at the new things included in Steeltoe 3.0. If you’re still wondering how the project fits in your new or existing .NET applications, [learn how here](https://steeltoe.io).

Expand Down Expand Up @@ -68,7 +68,7 @@ public void Listen(MyCustomObject myObj){
}
```

Once you’ve got the basics down, it’s time to extend and make the design better with things like custom factories. Steeltoe Messaging will take care of the conversion of a message into a structured type but sometimes you want to intercept that conversion and make decisions. You can create your own `DirectRabbitListenerContainer` and customize to your heart's content. Learn more about custom listener container factories [in the docs](/docs/v3/messaging/rabbitmq-intro.md#receiving-a-message).
Once you’ve got the basics down, it’s time to extend and make the design better with things like custom factories. Steeltoe Messaging will take care of the conversion of a message into a structured type but sometimes you want to intercept that conversion and make decisions. You can create your own `DirectRabbitListenerContainer` and customize to your heart's content. Learn more about custom listener container factories [in the docs](/docs/v3/messaging/rabbitmq-intro.html#receiving-a-message).

## Legacy and Modern together in the cloud

Expand Down Expand Up @@ -147,7 +147,7 @@ public HomeController(IConfiguration config) {
}
```

If you'd like to see more visit the [samples repo](https://github.com/SteeltoeOSS/Samples/tree/3.x), or have a look in the [docs](/docs/v3/welcome/index.md).
If you'd like to see more visit the [samples repo](https://github.com/SteeltoeOSS/Samples/tree/3.x), or have a look in the [docs](/docs/v3/welcome/index.html).

## Generate production ready projects and get going fast

Expand Down Expand Up @@ -182,7 +182,7 @@ Steeltoe 3.0 continues the management endpoints found in 2.x but takes things to
}
```

* In addition to the [metrics endpoint](/docs/v3/management/metrics.md), there is a new Prometheus endpoint that offers a simple way for metrics to be scraped. Below is an example prometheus.yml configuration ([here is a full example](https://github.com/SteeltoeOSS/Samples/tree/3.x/Management/src)):
* In addition to the [metrics endpoint](/docs/v3/management/metrics.html), there is a new Prometheus endpoint that offers a simple way for metrics to be scraped. Below is an example prometheus.yml configuration ([here is a full example](https://github.com/SteeltoeOSS/Samples/tree/3.x/Management/src)):

```yaml
scrape_configs:
Expand All @@ -191,7 +191,7 @@ Steeltoe 3.0 continues the management endpoints found in 2.x but takes things to
scrape_interval: 5s
```

* [Dynamic logging](/docs/v3/logging/index.md) can be implemented with a single statement in the `HostBuilder`
* [Dynamic logging](/docs/v3/logging/index.html) can be implemented with a single statement in the `HostBuilder`

```csharp
public static IHostBuilder CreateHostBuilder(string[] args) =>
Expand Down
10 changes: 5 additions & 5 deletions docs/articles/releases/steeltoe-3-1-minor-release-major-deal.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Let’s look at all the new features of Steeltoe 3.1 and how it’s going to get

## Steeltoe Messaging with RabbitMQ

[Steeltoe Messaging](/docs/v3/messaging/index.md) (which was introduced in 3.0) brought three main features to simplify developing event-driven microservices:
[Steeltoe Messaging](/docs/v3/messaging/index.html) (which was introduced in 3.0) brought three main features to simplify developing event-driven microservices:

* Listener container - a high-level abstraction for asynchronous processing of inbound messages
* RabbitTemplate - an abstraction for sending and receiving messages
Expand All @@ -51,7 +51,7 @@ The goal of Steeltoe Messaging is to make interactions with a specific broker ve
* Consumer groups - scaling up consumer microservices while maintaining the integrity of the stream processing operation
* Partitioning support - partition between multiple instances for stateful processing (even when the broker does not natively support it)

All of these concepts are covered in depth in [the documentation](/docs/v3/stream/index.md) where you can get in-depth with each concept. The goal is to take the burden of learning message semantics away and help you focus on writing your microservice. Have a look at our [quick start guide](/guides/stream/quick-start.md) and get going with message streaming in a flash!
All of these concepts are covered in depth in [the documentation](/docs/v3/stream/index.html) where you can get in-depth with each concept. The goal is to take the burden of learning message semantics away and help you focus on writing your microservice. Have a look at our [quick start guide](/guides/stream/quick-start.html) and get going with message streaming in a flash!

## Support for Spring Cloud Data Flow

Expand All @@ -71,11 +71,11 @@ SCDF introduces the concept of sources, processors, and sinks. A source is how t

That’s really just the beginning of SCDF. With data pipelines, you can have multiple sources, processors, or sinks. You can scale each microservice independently. And with the introduction of Steeltoe support, you can mix both Java and .NET services together in one pipeline!

These microservices are a little more "micro" than your typical service. They could be a single .cs that does a small job. They have special attributes that take care of all the message bus management as well as the incoming and outgoing data. To learn more have a look at the [Steeltoe stream docs for SCDF](/docs/v3/stream/data-flow-stream.md).
These microservices are a little more "micro" than your typical service. They could be a single .cs that does a small job. They have special attributes that take care of all the message bus management as well as the incoming and outgoing data. To learn more have a look at the [Steeltoe stream docs for SCDF](/docs/v3/stream/data-flow-stream.html).

## Steeltoe Bootstrap

Remember the days when you had multiple `using` statements and a variety of extension methods to bring in all those Steeltoe libraries? Well, we have good news: those days are now behind you. Community member Andrew Stakhov contributed an idea to the incubator called bootstrap and we think it's pretty darn cool. He created a HostBuilder extension that looks for select Steeltoe packages your project references and automatically initializes them in the project. What 'select' packages are included, you might be asking? There is a [full table](/docs/v3/bootstrap/index.md#supported-steeltoe-packages) in our documentation. Simply add a reference to any (or all) of those packages and then call `AddSteeltoe()` on the HostBuilder and your microservice will get the best of cloud-native practices. Here is an example of using the bootstrapper:
Remember the days when you had multiple `using` statements and a variety of extension methods to bring in all those Steeltoe libraries? Well, we have good news: those days are now behind you. Community member Andrew Stakhov contributed an idea to the incubator called bootstrap and we think it's pretty darn cool. He created a HostBuilder extension that looks for select Steeltoe packages your project references and automatically initializes them in the project. What 'select' packages are included, you might be asking? There is a [full table](/docs/v3/bootstrap/index.html#supported-steeltoe-packages) in our documentation. Simply add a reference to any (or all) of those packages and then call `AddSteeltoe()` on the HostBuilder and your microservice will get the best of cloud-native practices. Here is an example of using the bootstrapper:

```csharp
public static IHostBuilder CreateHostBuilder(string[] args) =>
Expand All @@ -89,4 +89,4 @@ public static IHostBuilder CreateHostBuilder(string[] args) =>

## Get Started Today

To get started with any Steeltoe projects, head over to the [getting started guides](../../guides/index.md). Combine this with the samples in the [Steeltoe GitHub repo](https://github.com/SteeltoeOSS/Samples/tree/3.x), and you’ll have .NET microservices up and running before you know it!
To get started with any Steeltoe projects, head over to the [getting started guides](../../guides/index.html). Combine this with the samples in the [Steeltoe GitHub repo](https://github.com/SteeltoeOSS/Samples/tree/3.x), and you’ll have .NET microservices up and running before you know it!
2 changes: 1 addition & 1 deletion docs/articles/releases/steeltoe-3-3-0.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ tags: ["new-release"]

This release improves support for .NET 8 (except for Integration, Messaging and Stream packages) and removes support for .NET Core 3.1. CVEs in transitive dependencies have been addressed and minor enhancements have been made to the application security components (including support for running against a local UAA server). We've also added Obsolete annotations to a number of public APIs that are no longer available in Steeltoe 4.0 to aid the upgrade experience.

Please note that the CVE-related updates required upgrading OpenTelemetry, which introduces breaking changes. For example, OpenTelemetry no longer supports exporting directly to Jaeger, so that support is now also removed from Steeltoe. For those affected by the removal of Jaeger exporting, please review [Steeltoe documentation for using Open Telemetry Protocol](../../docs/v3/tracing/distributed-tracing-exporting.md#use-open-telemetry-protocol-exporter) and Jaeger documentation.
Please note that the CVE-related updates required upgrading OpenTelemetry, which introduces breaking changes. For example, OpenTelemetry no longer supports exporting directly to Jaeger, so that support is now also removed from Steeltoe. For those affected by the removal of Jaeger exporting, please review [Steeltoe documentation for using Open Telemetry Protocol](../../docs/v3/tracing/distributed-tracing-exporting.html#use-open-telemetry-protocol-exporter) and Jaeger documentation.
4 changes: 2 additions & 2 deletions docs/articles/releases/steeltoe-4-0-0.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ tags: ["new-release"]

# Steeltoe 4.0.0 now Generally Available

Steeltoe 4 is a major release that brings many improvements and changes to the library. Minimal changes have been made since [the RC1 release announcement](./steeltoe-4-0-0-rc1.md), but we've added a [guide for migrating from Steeltoe 3](../../docs/v4/welcome/migrate-quick-steps.md).
Steeltoe 4 is a major release that brings many improvements and changes to the library. Minimal changes have been made since [the RC1 release announcement](./steeltoe-4-0-0-rc1.md), but we've added a [guide for migrating from Steeltoe 3](../../docs/v4/welcome/migrate-quick-steps.html).

Review [What's New in Steeltoe 4](../../docs/v4/welcome/whats-new.md) for more information about all the improvements.
Review [What's New in Steeltoe 4](../../docs/v4/welcome/whats-new.html) for more information about all the improvements.

We know that upgrades can be tough, especially when dependencies have name changes or disappear entirely. For the packages that no longer exist we've shipped placeholders that will show up as upgrades, but prevent projects from building and recommend how to move forward. These placeholder packages should make it easier to spot where changes are required.

Expand Down
Loading