Nomirun Host Configuration is a simple way to configure the Nomirun Host. It is supported from the version of Nomirun Host 1.5.0 and above.
Prior to version 1.5.0, Nomirun Host configuration looked like this (clusters.yaml):
clusters:
- name: SolarInverters
hosts:
- name: SolarInverters
hostPath: \hosts\SolarInverters
hostFramework: net10.0
hostPlatform: win-x64
hostVersion: latest
hostPorts:
httpPort: 5310
httpsPort: 5311
grpcPort: 5312
grpcsPort: 5313
metricsHttpPort: 5314
metricsHttpsPort: 5315
modules:
- name: SolarInverters
version:
After version 1.5.0, Nomirun Host configuration looks like this (clusters.yaml):
clusters:
- name: SolarInverters
hosts:
- name: SolarInverters
hostPath: \hosts\SolarInverters
hostFramework: net10.0
hostPlatform: win-x64
hostVersion: latest
hostPorts:
httpPort: 5310
httpsPort: 5311
grpcPort: 5312
grpcsPort: 5313
metricsHttpPort: 5314
metricsHttpsPort: 5315
modules:
- name: SolarInverters
version:
extensions:
- name: Nomirun.Host.OpenTelemetry
version: 1.0.0
hash: D3D7CF2B592A4C233E27CAB56A5C77D065567DF2DDB9C95B7E2B66835CEAF928A2638B5E777DB7CBEFA3109CDB623381D1DF829BE8A04187F2CC7CC15B851B13
configuration:
caching:
enabled: true
type: Memory
redisConnectionString:
metrics:
enabled: true
username: user
password: pass
swagger:
enabled: true
username: user
password: pass
otel:
hostUrl: http://otel-collector.localhost:4317
protocol:
headers:
serilog:
using:
- Serilog.Sinks.Console
minimumLevel:
default: Debug
override:
microsoft: Debug
interceptorsHelper: Debug
rateLimiting:
enabled: true
policies:
- endpoint: Global
limit: 250
periodInSeconds: 5
You can see two new sections were added:
The extensions section is used to add additional Nomirun Host extensions to the Nomirun Host. Check the guide here.
The configuration section is used to configure the Nomirun Host. You can modify the values, and those will be used by the Nomirun Host.
The values in clusters.yaml are used by Nomirun CLI to generate different configuration formats, from JSON, Kubernetes secrets, docker .env files, etc.
For example:
After version 1.16.0, you can also configure Azure KeyVault and Azure App Configuration Nomirun Host extensions. Additionally hostAddress was added.
Nomirun Host configuration looks like this (clusters.yaml):
clusters:
- name: SolarInverters
hosts:
- name: SolarInverters
hostAddress: localhost
hostPath: \hosts\SolarInverters
hostFramework: net10.0
hostPlatform: win-x64
hostVersion: latest
hostPorts:
httpPort: 5310
httpsPort: 5311
grpcPort: 5312
grpcsPort: 5313
metricsHttpPort: 5314
metricsHttpsPort: 5315
modules:
- name: SolarInverters
version:
extensions:
- name: Nomirun.Host.OpenTelemetry
version: 1.0.0
hash: D3D7CF2B592A4C233E27CAB56A5C77D065567DF2DDB9C95B7E2B66835CEAF928A2638B5E777DB7CBEFA3109CDB623381D1DF829BE8A04187F2CC7CC15B851B13
configuration:
caching:
enabled: true
type: Memory
redisConnectionString:
metrics:
enabled: true
username: user
password: pass
swagger:
enabled: true
username: user
password: pass
otel:
hostUrl: http://otel-collector.localhost:4317
protocol:
headers:
serilog:
using:
- Serilog.Sinks.Console
minimumLevel:
default: Debug
override:
microsoft: Debug
interceptorsHelper: Debug
rateLimiting:
enabled: true
policies:
- endpoint: Global
limit: 250
periodInSeconds: 5
configurationStores:
azureKeyVault:
name:
managedIdentityId:
azureAppConfig:
name:
managedIdentityId:
label:
To all previous Clusters in your clusters.yaml, under the configuration: section you need to add:
configurationStores:
azureKeyVault:
name:
managedIdentityId:
azureAppConfig:
name:
managedIdentityId:
label: