Stormancer.LettuceEncrypt 1.1.7.1-pre

This is a prerelease version of Stormancer.LettuceEncrypt.
There is a newer prerelease version of this package available.
See the version list below for details.
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.2-pre 61 10/30/2024
1.1.7.1-pre 112 3/11/2024
1.1.7-pre 198 10/29/2023
1.1.5 498 10/20/2022
1.1.4.4-pre 177 10/3/2022
1.1.4.3 414 9/28/2022
1.1.4.3-pre 194 7/8/2022
1.1.4.2 495 4/4/2022
1.1.4.2-pre 185 4/4/2022
1.1.4.1 459 1/19/2022
1.1.4.1-pre 199 1/6/2022
1.1.4-pre 360 12/9/2021
1.1.3-pre 181 12/7/2021
1.1.2.1 213 5/20/2021
1.1.2.1-pre 177 5/11/2021
1.1.2 195 4/29/2021
1.1.1 289 12/4/2020
1.1.1-pre 260 12/3/2020
1.1.0.1 167 6/18/2023
1.1.0 289 8/19/2020
1.1.0-pre 251 8/17/2020
1.0.0-pre 278 8/17/2020

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