Stormancer.LettuceEncrypt 1.1.7.1-pre

This is a prerelease version of Stormancer.LettuceEncrypt.
dotnet add package Stormancer.LettuceEncrypt --version 1.1.7.1-pre
NuGet\Install-Package Stormancer.LettuceEncrypt -Version 1.1.7.1-pre
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Stormancer.LettuceEncrypt" Version="1.1.7.1-pre" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Stormancer.LettuceEncrypt --version 1.1.7.1-pre
#r "nuget: Stormancer.LettuceEncrypt, 1.1.7.1-pre"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Stormancer.LettuceEncrypt as a Cake Addin
#addin nuget:?package=Stormancer.LettuceEncrypt&version=1.1.7.1-pre&prerelease

// Install Stormancer.LettuceEncrypt as a Cake Tool
#tool nuget:?package=Stormancer.LettuceEncrypt&version=1.1.7.1-pre&prerelease

This Stormancer node plugin adds support for using Let's encrypt to generate HTTPS certificate generation for Stormancer public and admin APIs. This plugin is based on the Lettuce encrypt library, made by Nate McMaster.

Configuration

Currently the plugin must be configured on each node independently.

Configuring lettuce encrypt

The lettuceEncrypt section must be added to the node configuration under the plugins section.

  "plugins": {
    ,
    "lettuceEncrypt": {
      "enabled": true,

      // Email for certificate renewal (required)
      "email": "email@email.com",
      // Domain name(s) to request certificates for
      "domainNames": [ "foo.com","admin.foo.com" ],

      // Use Let's Encrypt staging server for issuing certificate. true for testing ; false for prod
      "useStagingServer": true,
      // Directory to be used to save LettuceEncrypt data. Required.
      "certificateDirectory": "C:/strm-data/lettuceEncrypt",
      // Show detailed LettuceEncrypt (and Kestrel) logs.
      "showLogs": false
    }
  },

Configure the Stormancer Web Apis to use the certificates

To configure both admin and public API to use different domains on the same HTTPS port, use a variant of the following configuration : It configures a single HTTP endpoint setup as https on the port 443, which uses Lettuce Encrypt as certificate provider. Both the public and admin API use this endpoint, and are configured to only be active on the foo.com and admin.foo.com domains. respectively.

  "webApis": {
    "endpoints": {
      "public": {
        "ip": "*",
        "port": "443",
        "settings": { "https":"lettuceEncrypt"}
      }
    },

    "publicApi": {
      "endpoint": [ "public" ],
      "hosts": ["foo.com"],
      "publish": [ "https://foo.com" ]
    },

    "adminApi": {
      "endpoint": [ "public" ],
      "hosts": ["admin.foo.com"],
      "publish": ["https://admin.foo.com" ]
    }
  }

If using the same port for admin and public apis, Firewall rules (IP Whitelisting) cannot be used to limit access to the admin API. If this endpoint configuration is chosen, it's therefore strongly advised to also setup an authentication system on the admin API.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.1.7.1-pre 68 3/11/2024
1.1.7-pre 171 10/29/2023
1.1.5 458 10/20/2022
1.1.4.4-pre 147 10/3/2022
1.1.4.3 377 9/28/2022
1.1.4.3-pre 171 7/8/2022
1.1.4.2 463 4/4/2022
1.1.4.2-pre 158 4/4/2022
1.1.4.1 427 1/19/2022
1.1.4.1-pre 170 1/6/2022
1.1.4-pre 338 12/9/2021
1.1.3-pre 169 12/7/2021
1.1.2.1 192 5/20/2021
1.1.2.1-pre 159 5/11/2021
1.1.2 176 4/29/2021
1.1.1 272 12/4/2020
1.1.1-pre 242 12/3/2020
1.1.0.1 129 6/18/2023
1.1.0 271 8/19/2020
1.1.0-pre 239 8/17/2020
1.0.0-pre 257 8/17/2020

Changed
*******
- Added compatibility with latest Node Web API system.
- Move to net8.0.