Skip to main content

Morio Settings

Settings Overview
» name
» fqdn
» fqdn
» seed
» git
» subs
» url
» role
» iam
» url
» rbac
» user
» list
» list
» list
» list
» rbac
» user
» list
» list
» list
» list
» fqdn
» all
» env
» api
» cors
» env
» env
» ca
» env
» env
» env
» env
» db
» env
» eda
» env
» env
» env
» tap
» env
» ui
» env
» iam
» user
» root
» env
» 0
» 1
» vars

cluster

Required Typeobject

Settings that governs Morio cluster formation.

Show Example
Morio settings example: cluster
cluster:
common:
name: 'Morio production cluster'
fqdn: 'morio.tokyo.morio.it'
broker:
nodes:
- 'broker1.tokyo.morio.it'
- 'broker2.tokyo.morio.it'
- 'broker3.tokyo.morio.it'
fqdn: 'brokers.tokyo.morio.it'
flanking:
nodes:
- 'flanking1.tokyo.morio.it'
- 'flanking2.tokyo.morio.it'

cluster.common

Optional Typeobject

Settings that apply to all cluster nodes.

Show Example
Morio settings example: cluster.common
cluster:
common:
name: 'Morio production cluster'
fqdn: 'morio.tokyo.morio.it'

cluster.common.name

Optional Typestring Lengthminimum2 Lengthmaximum255 Contentregex/^[A-Za-z0-9\s-_,.;:()]+$/ defaultMorio Deployment

A name for the Morio deployment. Will be used in the generated X.509 certificates.

Show Example
Morio settings example: cluster.common.name
cluster:
common:
name: 'Morio production cluster'

cluster.common.fqdn

Optional Typestring Contentishostname

The domain name for the entire cluster. When set, it must resolve to a round-robin DNS record that includes all cluster nodes.

Show Example
Morio settings example: cluster.common.fqdn
cluster:
common:
fqdn: 'morio.tokyo.morio.it'

cluster.broker

Required Typeobject

Settings that apply to broker nodes.

Show Example
Morio settings example: cluster.broker
cluster:
broker:
nodes:
- 'broker1.tokyo.morio.it'
- 'broker2.tokyo.morio.it'
- 'broker3.tokyo.morio.it'
fqdn: 'brokers.tokyo.morio.it'

cluster.broker.nodes

Required Typearray Lengthminimum1 Lengthmaximum9
Array entries: Typestring Contentishostname

The list of broker nodes. This must hold an odd amount of entries to avoid split-brain scenarios. Also note that you cannot (currently) scale the amount of broker nodes after deployment, so choose carefully.

Show Example
Morio settings example: cluster.broker.nodes
cluster:
broker:
nodes:
- 'broker1.tokyo.morio.it'
- 'broker2.tokyo.morio.it'
- 'broker3.tokyo.morio.it'

cluster.broker.fqdn

Typestring Contentishostname

The domain name for broker nodes of the cluster. When set, it must point to a round-robin DNS record that includes all broker nodes. This is only mandatory when there are multiple brokers.

Show Example
Morio settings example: cluster.broker.fqdn
cluster:
broker:
fqdn: 'brokers.tokyo.morio.it'

cluster.flanking

Optional Typeobject

Settings that apply to flanking nodes.

Show Example
Morio settings example: cluster.flanking
cluster:
flanking:
nodes:
- 'flanking1.tokyo.morio.it'
- 'flanking2.tokyo.morio.it'

cluster.flanking.nodes

Optional Typearray Lengthminimum1 Lengthmaximum36
Array entries: Typestring Contentishostname

The list of flanking nodes. Unlike broker nodes, there is no requirement to have an odd amount of entries.

Show Example
Morio settings example: cluster.flanking.nodes
cluster:
flanking:
nodes:
- 'flanking1.tokyo.morio.it'
- 'flanking2.tokyo.morio.it'

external

Optional Typeobject

Holds settings about data sources and integrations external to Morio.

Show Example
Morio settings example: external
external:
seed:
git:
git-id:
url: 'https://codeberg.org/certeu/moriohub.git'
modules:
- glob: 'git:modules/**@git-id'
processors:
- glob: 'git:modules/**@git-id'
charts:
- glob: 'git:modules/**@git-id'
sigma:
fields:
- glob: 'git:modules/**@git-id'
rules:
- glob: 'git:modules/**@git-id'
subs:
- glob: 'git:modules/**@git-id'
vault:
url: 'https://vault.tokyo.morio.it'
jwt_auth_path: 'morio'
kv_path: 'kv'
role: 'morio'
verify_certificate: true

external.seed

Optional Typeobject

Controls seeding of external content inside Morio.

Show Example
Morio settings example: external.seed
external:
seed:
git:
git-id:
url: 'https://codeberg.org/certeu/moriohub.git'
modules:
- glob: 'git:modules/**@git-id'
processors:
- glob: 'git:modules/**@git-id'
charts:
- glob: 'git:modules/**@git-id'
sigma:
fields:
- glob: 'git:modules/**@git-id'
rules:
- glob: 'git:modules/**@git-id'
subs:
- glob: 'git:modules/**@git-id'

external.seed.charts

Typearray
Array entries: Typeobject
  • [entry].glob: Required Typestring

A list of seed globs from which to load visualisation logic for Morio's UI service.

Show Example
Morio settings example: external.seed.charts
external:
seed:
charts:
- glob: 'git:modules/**@git-id'

external.seed.git

Required Typeobject

A git repository to seed content from.

Show Example
Morio settings example: external.seed.git
external:
seed:
git:
git-id:
url: 'https://codeberg.org/certeu/moriohub.git'
external.seed.git.git-id
Typeobject
Start of a settings pattern
This marks the start of a settings pattern which allows multiple blocks of these settings to repeat under a different key.
In our documentation, we use git-id as a placeholder key to illustrate this settings pattern.

A git repository to seed content from.

Show Example
Morio settings example: external.seed.git.git-id
external:
seed:
git:
git-id:
url: 'https://codeberg.org/certeu/moriohub.git'
external.seed.git.git-id.url
Required Typestring ContentisURI

The URL to use. Note that we do not support cloning over SSH.

Show Example
Morio settings example: external.seed.git.git-id.url
external:
seed:
git:
git-id:
url: 'https://codeberg.org/certeu/moriohub.git'
external.seed.git.git-id.ref
Optional Typestring

The git branch/tag/ref to use. When this is not set, it will default to the value of MORIO_VERSION_TAG.

external.seed.git.git-id.user
Optional Typestring

The username to use for authentication to the git host.

external.seed.git.git-id.token
Optional Typestring

The password to use for authentication to the git host.

external.seed.modules

Typearray
Array entries: Typeobject
  • [entry].glob: Required Typestring

A list of seed globs from which to load Morio client modules.

Show Example
Morio settings example: external.seed.modules
external:
seed:
modules:
- glob: 'git:modules/**@git-id'

external.seed.processors

Typearray
Array entries: Typeobject
  • [entry].glob: Required Typestring

A list of seed globs from which to load stream processing logic for Morio's Tap service.

Show Example
Morio settings example: external.seed.processors
external:
seed:
processors:
- glob: 'git:modules/**@git-id'

external.seed.sigma

Optional Typeobject

Controls seeding of Sigma rules, fields, and subs to transform them into stream processing detection logic.

Show Example
Morio settings example: external.seed.sigma
external:
seed:
sigma:
fields:
- glob: 'git:modules/**@git-id'
rules:
- glob: 'git:modules/**@git-id'
subs:
- glob: 'git:modules/**@git-id'
external.seed.sigma.fields
Required Typearray
Array entries: Typeobject
  • [entry].glob: Required Typestring

Field mappings for Sigma rules inside Morio

Show Example
Morio settings example: external.seed.sigma.fields
external:
seed:
sigma:
fields:
- glob: 'git:modules/**@git-id'
external.seed.sigma.rules
Required Typearray
Array entries: Typeobject
  • [entry].glob: Required Typestring

Sigma rules to seed

Show Example
Morio settings example: external.seed.sigma.rules
external:
seed:
sigma:
rules:
- glob: 'git:modules/**@git-id'
external.seed.sigma.subs
Required Typearray
Array entries: Typeobject
  • [entry].glob: Required Typestring

Matches Morio stream processor subscriptions to Sigma rules

Show Example
Morio settings example: external.seed.sigma.subs
external:
seed:
sigma:
subs:
- glob: 'git:modules/**@git-id'

external.vault

Optional Typeobject

Hold configuration for integrating Morio with Hashicorp Vault (or OpenBao).

Show Example
Morio settings example: external.vault
external:
vault:
url: 'https://vault.tokyo.morio.it'
jwt_auth_path: 'morio'
kv_path: 'kv'
role: 'morio'
verify_certificate: true

external.vault.url

Required Typestring ContentisURI

The URL of your Vault instance.

Show Example
Morio settings example: external.vault.url
external:
vault:
url: 'https://vault.tokyo.morio.it'

external.vault.verify_certificate

Typeboolean

Whether or not to verify the Vault TLS certificate.

Show Example
Morio settings example: external.vault.verify_certificate
external:
vault:
verify_certificate: true

external.vault.role

Typestring defaultmorio

The role to assume for authentication to Vault.

Show Example
Morio settings example: external.vault.role
external:
vault:
role: 'morio'

external.vault.jwt_auth_path

Typestring defaultmorio

The path under which the JWT authentication method is anchored in Vault.

Show Example
Morio settings example: external.vault.jwt_auth_path
external:
vault:
jwt_auth_path: 'morio'

external.vault.kv_path

Typestring defaultsecret

The path under which the Key/Value secret store anchored in Vault.

Show Example
Morio settings example: external.vault.kv_path
external:
vault:
kv_path: 'kv'

iam

Optional Typeobject

Holds the Identity and Access Management (IAM) settings

Show Example
Morio settings example: iam
iam:
policy:
rule-id:
when:
label: 'oidc/freesewing/group/users'
method: 'GET'
provider: 'freesewing'
user:
is_not: 'skully'
role:
or:
- 'user'
- 'manager'
url:
or:
- startsWith: '/-/api/cache/glob/check%7C'
- startsWith: '/-/api/inventory/hostnames/*'
- startsWith: '/-/api/cache/keys/check%7C'
then: 'allow'
providers:
apikey: {}
ldap-provider-id:
provider: 'ldap'
about: 'On-prem Active Directory'
server:
url: 'ldaps://dc1.tokyo.morio.it'
bindDN: 'CN=morio-test,OU=Functional,OU=MORIO,DC=tokyo,DC=morio,DC=it'
bindCredentials: '{|{ AD_PASSWORD }|}'
searchBase: 'OU=MORIO,DC=tokyo,DC=morio,DC=it'
searchFilter: '(&(objectClass=user)(samaccountname={{username}}))'
username_field: 'samaccountname'
label: 'Active Directory'
rbac:
user:
attribute: 'samaccountname'
regex: '.'
engineer:
attribute: 'samaccountname'
list:
- 'aaswartz'
- 'iamurdock'
- 'deritchie'
verify_certificate: true
trust_certificate: '-----BEGIN CERTIFICATE----- ...'
local: {}
oidc-provider-id:
provider: 'oidc'
label: 'FreeSewing Account'
about: 'Sign in with any FreeSewing account'
issuer: 'https:// backend.freesewing.eu'
client_secret: '{|{ MORIO_SSO_CLIENT_SECRET }|}'
client_id: 'morio'
username_field: 'preferred_username'
rbac:
user:
attribute: 'preferred_username'
regex: '.'
engineer:
attribute: 'preferred_username'
list:
- 'joost'
autodiscovery_url: 'https://backend.freesewing.eu/.well-known/openid-configuration'
token_endpoint_auth_method: 'client_secret_basic'
label_attributes:
email: 'email'
name: 'name'
role: 'role'
username: 'preferred_username'
uuid: 'sub'

iam.policy

Optional Typeobject

Holds the various rules that make up the attribute-based access control (ABAC) policy. Refer to the Morio Access Policy Guide for details.

Show Example
Morio settings example: iam.policy
iam:
policy:
rule-id:
when:
label: 'oidc/freesewing/group/users'
method: 'GET'
provider: 'freesewing'
user:
is_not: 'skully'
role:
or:
- 'user'
- 'manager'
url:
or:
- startsWith: '/-/api/cache/glob/check%7C'
- startsWith: '/-/api/inventory/hostnames/*'
- startsWith: '/-/api/cache/keys/check%7C'
then: 'allow'

iam.policy.rule-id

Typeobject
Start of a settings pattern
This marks the start of a settings pattern which allows multiple blocks of these settings to repeat under a different key.
In our documentation, we use rule-id as a placeholder key to illustrate this settings pattern.

Holds the various rules that make up the attribute-based access control (ABAC) policy. Refer to the Morio Access Policy Guide for details.

Show Example
Morio settings example: iam.policy.rule-id
iam:
policy:
rule-id:
when:
label: 'oidc/freesewing/group/users'
method: 'GET'
provider: 'freesewing'
user:
is_not: 'skully'
role:
or:
- 'user'
- 'manager'
url:
or:
- startsWith: '/-/api/cache/glob/check%7C'
- startsWith: '/-/api/inventory/hostnames/*'
- startsWith: '/-/api/cache/keys/check%7C'
then: 'allow'
iam.policy.rule-id.when
Required Typeobject Lengthminimum1

The matching logic of the access policy rule. Refer to the Morio Access Policy Guide for details.

Show Example
Morio settings example: iam.policy.rule-id.when
iam:
policy:
rule-id:
when:
label: 'oidc/freesewing/group/users'
method: 'GET'
provider: 'freesewing'
user:
is_not: 'skully'
role:
or:
- 'user'
- 'manager'
url:
or:
- startsWith: '/-/api/cache/glob/check%7C'
- startsWith: '/-/api/inventory/hostnames/*'
- startsWith: '/-/api/cache/keys/check%7C'
iam.policy.rule-id.when.label
Typealternatives

Allows matching against labels on the user account. Refer to the Morio Access Policy Guide for details.

Show Example
Morio settings example: iam.policy.rule-id.when.label
iam:
policy:
rule-id:
when:
label: 'oidc/freesewing/group/users'
iam.policy.rule-id.when.method
Typealternatives Contentone ofHEAD|GET|POST|PUT|DELETE|CONNECT|TRACE|OPTIONS

Allows matching against the HTTP method (use UPPERCASE). Refer to the Morio Access Policy Guide for details.

Show Example
Morio settings example: iam.policy.rule-id.when.method
iam:
policy:
rule-id:
when:
method: 'GET'
iam.policy.rule-id.when.role
Typealternatives Contentone ofuser|manager|operator|engineer

Allows matching against the RBAC role assigned to the account. Refer to the Morio Access Policy Guide for details.

Show Example
Morio settings example: iam.policy.rule-id.when.role
iam:
policy:
rule-id:
when:
role:
or:
- 'user'
- 'manager'
iam.policy.rule-id.when.provider
Typealternatives

Allows matching against the ID of the identity provider used to authenticate. Refer to the Morio Access Policy Guide for details.

Show Example
Morio settings example: iam.policy.rule-id.when.provider
iam:
policy:
rule-id:
when:
provider: 'freesewing'
iam.policy.rule-id.when.url
Typealternatives

Allows matching against the request URL. Refer to the Morio Access Policy Guide for details.

Show Example
Morio settings example: iam.policy.rule-id.when.url
iam:
policy:
rule-id:
when:
url:
or:
- startsWith: '/-/api/cache/glob/check%7C'
- startsWith: '/-/api/inventory/hostnames/*'
- startsWith: '/-/api/cache/keys/check%7C'
iam.policy.rule-id.when.user
Typealternatives

Allows matching against the username. Refer to the Morio Access Policy Guide for details.

Show Example
Morio settings example: iam.policy.rule-id.when.user
iam:
policy:
rule-id:
when:
user:
is_not: 'skully'
iam.policy.rule-id.then
Required Typestring Contentone ofallow|deny

Whether to allow or deny requests that match this rule. Refer to the Morio Access Policy Guide for details.

Show Example
Morio settings example: iam.policy.rule-id.then
iam:
policy:
rule-id:
then: 'allow'

iam.providers

Optional Typeobject

Holds identity providers for HTTP-based authentication inside Morio. Refer to the Morio Identity Providers Guide.

Show Example
Morio settings example: iam.providers
iam:
providers:
apikey: {}
ldap-provider-id:
provider: 'ldap'
about: 'On-prem Active Directory'
server:
url: 'ldaps://dc1.tokyo.morio.it'
bindDN: 'CN=morio-test,OU=Functional,OU=MORIO,DC=tokyo,DC=morio,DC=it'
bindCredentials: '{|{ AD_PASSWORD }|}'
searchBase: 'OU=MORIO,DC=tokyo,DC=morio,DC=it'
searchFilter: '(&(objectClass=user)(samaccountname={{username}}))'
username_field: 'samaccountname'
label: 'Active Directory'
rbac:
user:
attribute: 'samaccountname'
regex: '.'
engineer:
attribute: 'samaccountname'
list:
- 'aaswartz'
- 'iamurdock'
- 'deritchie'
verify_certificate: true
trust_certificate: '-----BEGIN CERTIFICATE----- ...'
local: {}
oidc-provider-id:
provider: 'oidc'
label: 'FreeSewing Account'
about: 'Sign in with any FreeSewing account'
issuer: 'https:// backend.freesewing.eu'
client_secret: '{|{ MORIO_SSO_CLIENT_SECRET }|}'
client_id: 'morio'
username_field: 'preferred_username'
rbac:
user:
attribute: 'preferred_username'
regex: '.'
engineer:
attribute: 'preferred_username'
list:
- 'joost'
autodiscovery_url: 'https://backend.freesewing.eu/.well-known/openid-configuration'
token_endpoint_auth_method: 'client_secret_basic'
label_attributes:
email: 'email'
name: 'name'
role: 'role'
username: 'preferred_username'
uuid: 'sub'

iam.providers.apikey

Optional Typeobject
Show Example
Morio settings example: iam.providers.apikey
iam:
providers:
apikey: {}
iam.providers.apikey.provider
Optional Typestring Contentequalsapikey defaultapikey

Holds the provider type, which for this provider must always be apikey

iam.providers.apikey.label
Optional Typestring defaultAPI Key

The label to use for this identity provider in the Morio UI.

iam.providers.apikey.about
Optional Typestring defaultThis allows you to test your Morio API Key

A (brief) description that will be included in the inline help on the Morio login page. When you have multiple identity providers, this can help you clarify the purpose and use-case of each of them to your users.

iam.providers.local

Optional Typeobject
Show Example
Morio settings example: iam.providers.local
iam:
providers:
local: {}
iam.providers.local.provider
Optional Typestring Contentequalslocal defaultlocal

Holds the provider type, which for this provider must always be local

iam.providers.local.label
Optional Typestring defaultLocal Morio Account

The label to use for this identity provider in the Morio UI.

iam.providers.local.about
Optional Typestring defaultAccounts local to this Morio cluster

A (brief) description that will be included in the inline help on the Morio login page. When you have multiple identity providers, this can help you clarify the purpose and use-case of each of them to your users.

iam.providers.ldap-provider-id

Typeobject
Start of a settings pattern
This marks the start of a settings pattern which allows multiple blocks of these settings to repeat under a different key.
In our documentation, we use ldap-provider-id as a placeholder key to illustrate this settings pattern.

Settings for an LDAP identity provider. You can configure multiple LDAP identity providers creating different keys under iam.providers that implement this settings structure.

Show Example
Morio settings example: iam.providers.ldap-provider-id
iam:
providers:
ldap-provider-id:
provider: 'ldap'
about: 'On-prem Active Directory'
server:
url: 'ldaps://dc1.tokyo.morio.it'
bindDN: 'CN=morio-test,OU=Functional,OU=MORIO,DC=tokyo,DC=morio,DC=it'
bindCredentials: '{|{ AD_PASSWORD }|}'
searchBase: 'OU=MORIO,DC=tokyo,DC=morio,DC=it'
searchFilter: '(&(objectClass=user)(samaccountname={{username}}))'
username_field: 'samaccountname'
label: 'Active Directory'
rbac:
user:
attribute: 'samaccountname'
regex: '.'
engineer:
attribute: 'samaccountname'
list:
- 'aaswartz'
- 'iamurdock'
- 'deritchie'
verify_certificate: true
trust_certificate: '-----BEGIN CERTIFICATE----- ...'
iam.providers.ldap-provider-id.provider
Required Typestring Contentequalsldap

Holds the provider type, which for this provider must always be ldap

Show Example
Morio settings example: iam.providers.ldap-provider-id.provider
iam:
providers:
ldap-provider-id:
provider: 'ldap'
iam.providers.ldap-provider-id.label
Required Typestring

The label to use for this identity provider in the Morio UI.

Show Example
Morio settings example: iam.providers.ldap-provider-id.label
iam:
providers:
ldap-provider-id:
label: 'Active Directory'
iam.providers.ldap-provider-id.about
Optional Typestring

A (brief) description that will be included in the inline help on the Morio login page. When you have multiple identity providers, this can help you clarify the purpose and use-case of each of them to your users.

Show Example
Morio settings example: iam.providers.ldap-provider-id.about
iam:
providers:
ldap-provider-id:
about: 'On-prem Active Directory'
iam.providers.ldap-provider-id.username_field
Required Typestring

The LDAP field to use for the username within Morio.

Show Example
Morio settings example: iam.providers.ldap-provider-id.username_field
iam:
providers:
ldap-provider-id:
username_field: 'samaccountname'
iam.providers.ldap-provider-id.trust_certificate
Optional Typestring Contentregex/.*BEGIN CERTIFICATE.*/

A PEM-encoded certificate to trust for TLS connections.

Show Example
Morio settings example: iam.providers.ldap-provider-id.trust_certificate
iam:
providers:
ldap-provider-id:
trust_certificate: '-----BEGIN CERTIFICATE----- ...'
iam.providers.ldap-provider-id.verify_certificate
Typeboolean default

Whether to verify the certificate when establishing the TLS connection or not.

Show Example
Morio settings example: iam.providers.ldap-provider-id.verify_certificate
iam:
providers:
ldap-provider-id:
verify_certificate: true
iam.providers.ldap-provider-id.server
Typeobject

Settings to configure the LDAP server.

Show Example
Morio settings example: iam.providers.ldap-provider-id.server
iam:
providers:
ldap-provider-id:
server:
url: 'ldaps://dc1.tokyo.morio.it'
bindDN: 'CN=morio-test,OU=Functional,OU=MORIO,DC=tokyo,DC=morio,DC=it'
bindCredentials: '{|{ AD_PASSWORD }|}'
searchBase: 'OU=MORIO,DC=tokyo,DC=morio,DC=it'
searchFilter: '(&(objectClass=user)(samaccountname={{username}}))'
iam.providers.ldap-provider-id.server.url
Required Typestring ContentisURI

The URI to connect to the LDAP server

Show Example
Morio settings example: iam.providers.ldap-provider-id.server.url
iam:
providers:
ldap-provider-id:
server:
url: 'ldaps://dc1.tokyo.morio.it'
iam.providers.ldap-provider-id.server.bindDN
Optional Typestring

The distinguished name (DN) with which to bind to the LDAP server.
Many LDAP servers do not allow anonymous searches. In such a case we need an account to bind to the server so we can find the user. Only then can we attempt to authenticate as the user to verify the credentials.

Show Example
Morio settings example: iam.providers.ldap-provider-id.server.bindDN
iam:
providers:
ldap-provider-id:
server:
bindDN: 'CN=morio-test,OU=Functional,OU=MORIO,DC=tokyo,DC=morio,DC=it'
iam.providers.ldap-provider-id.server.bindCredentials
Optional Typestring

The credentials that go with the bind DN.

Show Example
Morio settings example: iam.providers.ldap-provider-id.server.bindCredentials
iam:
providers:
ldap-provider-id:
server:
bindCredentials: '{|{ AD_PASSWORD }|}'
iam.providers.ldap-provider-id.server.searchBase
Required Typestring

The base under which to search for users who authenticate.

Show Example
Morio settings example: iam.providers.ldap-provider-id.server.searchBase
iam:
providers:
ldap-provider-id:
server:
searchBase: 'OU=MORIO,DC=tokyo,DC=morio,DC=it'
iam.providers.ldap-provider-id.server.searchFilter
Optional Typestring

The search filter. Typically used to filter out user accounts from other LDAP objects.

Show Example
Morio settings example: iam.providers.ldap-provider-id.server.searchFilter
iam:
providers:
ldap-provider-id:
server:
searchFilter: '(&(objectClass=user)(samaccountname={{username}}))'
iam.providers.ldap-provider-id.rbac
Typeobject

Controls what Morio roles to assign to users authenticating through this identity provider.

Show Example
Morio settings example: iam.providers.ldap-provider-id.rbac
iam:
providers:
ldap-provider-id:
rbac:
user:
attribute: 'samaccountname'
regex: '.'
engineer:
attribute: 'samaccountname'
list:
- 'aaswartz'
- 'iamurdock'
- 'deritchie'
iam.providers.ldap-provider-id.rbac.user
Typeobject Propertiesxorlist|regex

Controls which users get assigned this role by matching an attribute from the identity provider. Note that you can use either list or regex but not both.

Show Example
Morio settings example: iam.providers.ldap-provider-id.rbac.user
iam:
providers:
ldap-provider-id:
rbac:
user:
attribute: 'samaccountname'
regex: '.'
Required Typestring

The attribute to use from the identity provider.

Show Example
Morio settings example: iam.providers.ldap-provider-id.rbac.user.attribute
iam:
providers:
ldap-provider-id:
rbac:
user:
attribute: 'samaccountname'
Typearray
Array entries: Typestring

A hard-coded list of attribute values to match.

Typestring

A regular expression to match against the attribute value.

Show Example
Morio settings example: iam.providers.ldap-provider-id.rbac.user.regex
iam:
providers:
ldap-provider-id:
rbac:
user:
regex: '.'
iam.providers.ldap-provider-id.rbac.manager
Typeobject Propertiesxorlist|regex

Controls which users get assigned this role by matching an attribute from the identity provider. Note that you can use either list or regex but not both.

Required Typestring

The attribute to use from the identity provider.

Typearray
Array entries: Typestring

A hard-coded list of attribute values to match.

Typestring

A regular expression to match against the attribute value.

iam.providers.ldap-provider-id.rbac.operator
Typeobject Propertiesxorlist|regex

Controls which users get assigned this role by matching an attribute from the identity provider. Note that you can use either list or regex but not both.

Required Typestring

The attribute to use from the identity provider.

Typearray
Array entries: Typestring

A hard-coded list of attribute values to match.

Typestring

A regular expression to match against the attribute value.

iam.providers.ldap-provider-id.rbac.engineer
Typeobject Propertiesxorlist|regex

Controls which users get assigned this role by matching an attribute from the identity provider. Note that you can use either list or regex but not both.

Show Example
Morio settings example: iam.providers.ldap-provider-id.rbac.engineer
iam:
providers:
ldap-provider-id:
rbac:
engineer:
attribute: 'samaccountname'
list:
- 'aaswartz'
- 'iamurdock'
- 'deritchie'
Required Typestring

The attribute to use from the identity provider.

Show Example
Morio settings example: iam.providers.ldap-provider-id.rbac.engineer.attribute
iam:
providers:
ldap-provider-id:
rbac:
engineer:
attribute: 'samaccountname'
Typearray
Array entries: Typestring

A hard-coded list of attribute values to match.

Show Example
Morio settings example: iam.providers.ldap-provider-id.rbac.engineer.list
iam:
providers:
ldap-provider-id:
rbac:
engineer:
list:
- 'aaswartz'
- 'iamurdock'
- 'deritchie'
Typestring

A regular expression to match against the attribute value.

iam.providers.ldap-provider-id.label_attributes
Typeobject

Controls adding labels to the user account based on attributes provided by the identity provider. You can use these labels in the Morio ABAC access policy, thus allowing you to implement access control based on group membership and so on.

For each entry:
  • Key: Typestring The Morio label name
  • Value: Typestring The identity provider label name

iam.providers.oidc-provider-id

Typeobject
Start of a settings pattern
This marks the start of a settings pattern which allows multiple blocks of these settings to repeat under a different key.
In our documentation, we use oidc-provider-id as a placeholder key to illustrate this settings pattern.

Settings for an OIDC identity provider. You can configure multiple OIDC identity providers creating different keys under iam.providers that implement this settings structure.

Show Example
Morio settings example: iam.providers.oidc-provider-id
iam:
providers:
oidc-provider-id:
provider: 'oidc'
label: 'FreeSewing Account'
about: 'Sign in with any FreeSewing account'
issuer: 'https:// backend.freesewing.eu'
client_secret: '{|{ MORIO_SSO_CLIENT_SECRET }|}'
client_id: 'morio'
username_field: 'preferred_username'
rbac:
user:
attribute: 'preferred_username'
regex: '.'
engineer:
attribute: 'preferred_username'
list:
- 'joost'
autodiscovery_url: 'https://backend.freesewing.eu/.well-known/openid-configuration'
token_endpoint_auth_method: 'client_secret_basic'
label_attributes:
email: 'email'
name: 'name'
role: 'role'
username: 'preferred_username'
uuid: 'sub'
iam.providers.oidc-provider-id.provider
Required Typestring Contentequalsoidc

Holds the provider type, which for this provider must always be oidc

Show Example
Morio settings example: iam.providers.oidc-provider-id.provider
iam:
providers:
oidc-provider-id:
provider: 'oidc'
iam.providers.oidc-provider-id.label
Required Typestring

The label to use for this identity provider in the Morio UI.

Show Example
Morio settings example: iam.providers.oidc-provider-id.label
iam:
providers:
oidc-provider-id:
label: 'FreeSewing Account'
iam.providers.oidc-provider-id.about
Optional Typestring

A (brief) description that will be included in the inline help on the Morio login page. When you have multiple identity providers, this can help you clarify the purpose and use-case of each of them to your users.

Show Example
Morio settings example: iam.providers.oidc-provider-id.about
iam:
providers:
oidc-provider-id:
about: 'Sign in with any FreeSewing account'
iam.providers.oidc-provider-id.issuer
Required Typestring

The base URL of your identitity provider.

Show Example
Morio settings example: iam.providers.oidc-provider-id.issuer
iam:
providers:
oidc-provider-id:
issuer: 'https:// backend.freesewing.eu'
iam.providers.oidc-provider-id.client_secret
Required Typestring

The client secret to exchange with the identity provider.

Show Example
Morio settings example: iam.providers.oidc-provider-id.client_secret
iam:
providers:
oidc-provider-id:
client_secret: '{|{ MORIO_SSO_CLIENT_SECRET }|}'
iam.providers.oidc-provider-id.client_id
Required Typestring

The client ID as configured on the identity provider.

Show Example
Morio settings example: iam.providers.oidc-provider-id.client_id
iam:
providers:
oidc-provider-id:
client_id: 'morio'
iam.providers.oidc-provider-id.username_field
Required Typestring

The LDAP field to use for the username within Morio.

Show Example
Morio settings example: iam.providers.oidc-provider-id.username_field
iam:
providers:
oidc-provider-id:
username_field: 'preferred_username'
iam.providers.oidc-provider-id.autodiscovery_url
Optional Typestring ContentisURI

The exact autodiscovery URL. Typically, you do not need to configure this as it can be determined from the issuer setting. However, for OIDC identity providers that implement multi-tenancy, or when using multiple realms, the URL path is often different from the default, and in such a case you can specify the exact path here.

Show Example
Morio settings example: iam.providers.oidc-provider-id.autodiscovery_url
iam:
providers:
oidc-provider-id:
autodiscovery_url: 'https://backend.freesewing.eu/.well-known/openid-configuration'
iam.providers.oidc-provider-id.token_endpoint_auth_method
Optional Typestring

Controls how the client proves its identity to the identity provider.

Show Example
Morio settings example: iam.providers.oidc-provider-id.token_endpoint_auth_method
iam:
providers:
oidc-provider-id:
token_endpoint_auth_method: 'client_secret_basic'
iam.providers.oidc-provider-id.trust_certificate
Optional Typestring Contentregex/.*BEGIN CERTIFICATE.*/

A PEM-encoded certificate to trust for the TLS connection to the identity provider.

iam.providers.oidc-provider-id.verify_certificate
Typeboolean default

Whether or not to verify the certificate on the TLS connection.

iam.providers.oidc-provider-id.rbac
Typeobject

Controls what Morio roles to assign to users authenticating through this identity provider.

Show Example
Morio settings example: iam.providers.oidc-provider-id.rbac
iam:
providers:
oidc-provider-id:
rbac:
user:
attribute: 'preferred_username'
regex: '.'
engineer:
attribute: 'preferred_username'
list:
- 'joost'
iam.providers.oidc-provider-id.rbac.user
Typeobject Propertiesxorlist|regex

Controls which users get assigned this role by matching an attribute from the identity provider. Note that you can use either list or regex but not both.

Show Example
Morio settings example: iam.providers.oidc-provider-id.rbac.user
iam:
providers:
oidc-provider-id:
rbac:
user:
attribute: 'preferred_username'
regex: '.'
Required Typestring

The attribute to use from the identity provider.

Show Example
Morio settings example: iam.providers.oidc-provider-id.rbac.user.attribute
iam:
providers:
oidc-provider-id:
rbac:
user:
attribute: 'preferred_username'
Typearray
Array entries: Typestring

A hard-coded list of attribute values to match.

Typestring

A regular expression to match against the attribute value.

Show Example
Morio settings example: iam.providers.oidc-provider-id.rbac.user.regex
iam:
providers:
oidc-provider-id:
rbac:
user:
regex: '.'
iam.providers.oidc-provider-id.rbac.manager
Typeobject Propertiesxorlist|regex

Controls which users get assigned this role by matching an attribute from the identity provider. Note that you can use either list or regex but not both.

Required Typestring

The attribute to use from the identity provider.

Typearray
Array entries: Typestring

A hard-coded list of attribute values to match.

Typestring

A regular expression to match against the attribute value.

iam.providers.oidc-provider-id.rbac.operator
Typeobject Propertiesxorlist|regex

Controls which users get assigned this role by matching an attribute from the identity provider. Note that you can use either list or regex but not both.

Required Typestring

The attribute to use from the identity provider.

Typearray
Array entries: Typestring

A hard-coded list of attribute values to match.

Typestring

A regular expression to match against the attribute value.

iam.providers.oidc-provider-id.rbac.engineer
Typeobject Propertiesxorlist|regex

Controls which users get assigned this role by matching an attribute from the identity provider. Note that you can use either list or regex but not both.

Show Example
Morio settings example: iam.providers.oidc-provider-id.rbac.engineer
iam:
providers:
oidc-provider-id:
rbac:
engineer:
attribute: 'preferred_username'
list:
- 'joost'
Required Typestring

The attribute to use from the identity provider.

Show Example
Morio settings example: iam.providers.oidc-provider-id.rbac.engineer.attribute
iam:
providers:
oidc-provider-id:
rbac:
engineer:
attribute: 'preferred_username'
Typearray
Array entries: Typestring

A hard-coded list of attribute values to match.

Show Example
Morio settings example: iam.providers.oidc-provider-id.rbac.engineer.list
iam:
providers:
oidc-provider-id:
rbac:
engineer:
list:
- 'joost'
Typestring

A regular expression to match against the attribute value.

iam.providers.oidc-provider-id.label_attributes
Typeobject

Controls adding labels to the user account based on attributes provided by the identity provider. You can use these labels in the Morio ABAC access policy, thus allowing you to implement access control based on group membership and so on.

Show Example
Morio settings example: iam.providers.oidc-provider-id.label_attributes
iam:
providers:
oidc-provider-id:
label_attributes:
email: 'email'
name: 'name'
role: 'role'
username: 'preferred_username'
uuid: 'sub'
For each entry:
  • Key: Typestring The Morio label name
  • Value: Typestring The identity provider label name

local

Optional Typeobject

local.fqdn

Optional Typestring Contentishostname

This setting is required when not doing a setup via the API/UI but instead from settings on disk, and when you have multiple cluster nodes. Morio needs to know which cluster node it is, an uses this setting for that. Note that this should be specific to the local node, and thus different on each cluster node.

services

Optional Typeobject

Settings for individual Morio services.

Show Example
Morio settings example: services
services:
all:
env:
TEST: 'EXAMPLE'
FOO: 'bar'
bar: 'FOO'
api:
cors:
origins:
- 'https://some-app.corp.morio.it'
- 'http://localhost:3000'
env:
some: 'var'
broker:
env:
some: 'var'
ca:
env:
some: 'var'
cache:
instances:
single:
env:
some: 'var'
max_memory_gb: 1.25
nodes:
- 'flanking1.morio.it'
connector:
instances:
single:
env:
some: 'var'
nodes:
- 'flanking1.morio.it'
- 'flanking2.morio.it'
vector:
sources:
source-id:
type: 'local_morio'
topics:
- 'logs'
transforms:
transform-id:
type: 'remap'
inputs:
- 'source-id'
source: "parsed_message = parse_json!(.message)\n. = parsed_message"
sinks:
sink-id:
type: 'elasticsearch'
inputs:
- 'transform-id'
api_version: 'auto'
compression: 'none'
endpoints:
- 'https://elasticsearch.tokyo.morio.it'
auth:
user: '{|{ ELASTIC_INGESTION_USER }|}'
password: '{|{ ELASTIC_INGESTION_PASSWORD }|}'
strategy: 'basic'
mode: 'bulk'
bulk:
action: 'create'
index: 'logs-{{ .morio.module }}-morio.tokyo'
template_fallback_index: 'logs-fallback-morio.tokyo'
tls:
ca_file: '/etc/vector/internal-ca.crt'
console:
env:
some: 'var'
db:
env:
some: 'var'
eda:
instances:
eda-id:
description: 'EdA instance for the support team'
nodes:
- 'flanking1.morio.it'
cors:
origins:
- 'https://diy.support.corp.morio.it'
- 'http://localhost:3000'
proxy:
env:
some: 'var'
snmpproxy:
instances:
single:
auths:
auths-id:
version: 3
username: 'morio'
priv_protocol: 'AES'
auth_protocol: 'SHA256'
security_level: 'authPriv'
password: '{|{ SNMP_AUTH_PASSWORD }|}'
priv_password: '{|{ SNMP_PRIV_PASSWORD }|}'
env:
some: 'var'
nodes:
- 'flanking1.morio.it'
- 'flanking2.morio.it'
snmptraps:
instances:
single:
env:
some: 'var'
nodes:
- 'flanking1.morio.it'
snmptrapd_custom: "# SNMP v3 auth\ncreateUser -e 0x80000009030000000000 morio sha-256 {|{ SNMP_AUTH_PASSWORD }|} aes-128 {|{ SNMP_PRIV_PASSWORD }|}"
tap:
instances:
single:
env:
some: 'var'
threads: 4
max_memory_mb: 1250
nodes:
- 'flanking1.morio.it'
ui:
env:
some: 'var'
iam:
roles:
labels:
user: 'Staff'
manager: 'Team Leader'
operator: 'Operations'
engineer: 'Morio Core Team'
root: 'MVDP-mode'
watcher:
instances:
single:
env:
some: 'var'
ping_inventory: true
ca_list:
- 'CERT'
monitors:
icmp-example:
type: 'icmp'
name: 'Ping some hosts'
hosts:
- 'host1.morio.it'
- 'host2.morio.it'
tcp-example:
type: 'tcp'
name: 'Check some ports'
hosts:
- 'host1.morio.it'
- 'host2.morio.it'
ports:
- 1212
- 3434
check:
send: 'foo'
receive: 'bar'
http-example:
type: 'http'
name: 'Test some URLs'
hosts:
- 'https://host1.morio.it'
- 'https://host2.morio.it'
max_redirects: 2
username: 'foo'
password: 'bar'
check:
request:
method: 'GET'
headers:
X-Foo-bar: 'Affirmative'
body: 'hi'
response:
status: 200
headers:
X-Foo-bar: 'Affirmative'
body:
- 'looks'
- 'good'

services.all

Optional Typeobject

Settings that apply to all services spawned by core (they do not apply to the core service itself).

Show Example
Morio settings example: services.all
services:
all:
env:
TEST: 'EXAMPLE'
FOO: 'bar'
bar: 'FOO'

services.all.env

Typeobject

A list of environment variables to set on the service container.

Show Example
Morio settings example: services.all.env
services:
all:
env:
TEST: 'EXAMPLE'
FOO: 'bar'
bar: 'FOO'
For each entry:
  • Key: Typestring The environment variable name
  • Value: Typestring The environment variable value

services.api

Optional Typeobject

Settings that apply to the API service

Show Example
Morio settings example: services.api
services:
api:
cors:
origins:
- 'https://some-app.corp.morio.it'
- 'http://localhost:3000'
env:
some: 'var'

services.api.cors

Optional Typeobject

Allow configuration of the CORS headers returned by this service.

Show Example
Morio settings example: services.api.cors
services:
api:
cors:
origins:
- 'https://some-app.corp.morio.it'
- 'http://localhost:3000'
services.api.cors.origins
Typearray
Array entries: Typestring

A list of origins to add to the CORS headers.

Show Example
Morio settings example: services.api.cors.origins
services:
api:
cors:
origins:
- 'https://some-app.corp.morio.it'
- 'http://localhost:3000'

services.api.env

Optional Typeobject

A list of environment variables to set on the service container.

Show Example
Morio settings example: services.api.env
services:
api:
env:
some: 'var'
For each entry:
  • Key: Typestring The environment variable name
  • Value: Typestring The environment variable value

services.broker

Optional Typeobject

Settings that apply to the Broker service

Show Example
Morio settings example: services.broker
services:
broker:
env:
some: 'var'

services.broker.env

Typeobject

A list of environment variables to set on the service container.

Show Example
Morio settings example: services.broker.env
services:
broker:
env:
some: 'var'
For each entry:
  • Key: Typestring The environment variable name
  • Value: Typestring The environment variable value

services.ca

Optional Typeobject

Settings that apply to the CA service

Show Example
Morio settings example: services.ca
services:
ca:
env:
some: 'var'

services.ca.env

Typeobject

A list of environment variables to set on the service container.

Show Example
Morio settings example: services.ca.env
services:
ca:
env:
some: 'var'
For each entry:
  • Key: Typestring The environment variable name
  • Value: Typestring The environment variable value

services.cache

Optional Typeobject

Settings that apply to the Cache service

Show Example
Morio settings example: services.cache
services:
cache:
instances:
single:
env:
some: 'var'
max_memory_gb: 1.25
nodes:
- 'flanking1.morio.it'

services.cache.instances

Optional Typeobject

For consistency, all flanking services are configured through a instances key like this that can hold multiple services instances. However, not all services support multiple instances.
The cache service only allows a single instance.

Show Example
Morio settings example: services.cache.instances
services:
cache:
instances:
single:
env:
some: 'var'
max_memory_gb: 1.25
nodes:
- 'flanking1.morio.it'
services.cache.instances.single
Typeobject

Settings for the single instance of the Cache service.

Show Example
Morio settings example: services.cache.instances.single
services:
cache:
instances:
single:
env:
some: 'var'
max_memory_gb: 1.25
nodes:
- 'flanking1.morio.it'
services.cache.instances.single.env
Typeobject

A list of environment variables to set on the service container.

Show Example
Morio settings example: services.cache.instances.single.env
services:
cache:
instances:
single:
env:
some: 'var'
For each entry:
  • Key: Typestring The environment variable name
  • Value: Typestring The environment variable value
services.cache.instances.single.max_memory_gb
Optional Typenumber default1

The maximum memory to allocate to the cache in Gigabytes. When the limit is reached, caching will be impacted and keys will be evicted using the volatile-lfu eviction policy.

Show Example
Morio settings example: services.cache.instances.single.max_memory_gb
services:
cache:
instances:
single:
max_memory_gb: 1.25
services.cache.instances.single.nodes
Required Typearray Lengthequals1
Array entries: Typestring Contentone of[object Object]|[object Object]

The nodes to run the cache service on. Only one node is allowed. Array entries must be one of the cluster nodes.

Show Example
Morio settings example: services.cache.instances.single.nodes
services:
cache:
instances:
single:
nodes:
- 'flanking1.morio.it'

services.connector

Optional Typeobject

Settings that apply to the Connector service

Show Example
Morio settings example: services.connector
services:
connector:
instances:
single:
env:
some: 'var'
nodes:
- 'flanking1.morio.it'
- 'flanking2.morio.it'
vector:
sources:
source-id:
type: 'local_morio'
topics:
- 'logs'
transforms:
transform-id:
type: 'remap'
inputs:
- 'source-id'
source: "parsed_message = parse_json!(.message)\n. = parsed_message"
sinks:
sink-id:
type: 'elasticsearch'
inputs:
- 'transform-id'
api_version: 'auto'
compression: 'none'
endpoints:
- 'https://elasticsearch.tokyo.morio.it'
auth:
user: '{|{ ELASTIC_INGESTION_USER }|}'
password: '{|{ ELASTIC_INGESTION_PASSWORD }|}'
strategy: 'basic'
mode: 'bulk'
bulk:
action: 'create'
index: 'logs-{{ .morio.module }}-morio.tokyo'
template_fallback_index: 'logs-fallback-morio.tokyo'
tls:
ca_file: '/etc/vector/internal-ca.crt'

services.connector.instances

Optional Typeobject

For consistency, all flanking services are configured through a instances key like this that can hold multiple services instances. However, not all services support multiple instances.
The Connector service allows only a single instance, but you can run it on multiple nodes.

Show Example
Morio settings example: services.connector.instances
services:
connector:
instances:
single:
env:
some: 'var'
nodes:
- 'flanking1.morio.it'
- 'flanking2.morio.it'
vector:
sources:
source-id:
type: 'local_morio'
topics:
- 'logs'
transforms:
transform-id:
type: 'remap'
inputs:
- 'source-id'
source: "parsed_message = parse_json!(.message)\n. = parsed_message"
sinks:
sink-id:
type: 'elasticsearch'
inputs:
- 'transform-id'
api_version: 'auto'
compression: 'none'
endpoints:
- 'https://elasticsearch.tokyo.morio.it'
auth:
user: '{|{ ELASTIC_INGESTION_USER }|}'
password: '{|{ ELASTIC_INGESTION_PASSWORD }|}'
strategy: 'basic'
mode: 'bulk'
bulk:
action: 'create'
index: 'logs-{{ .morio.module }}-morio.tokyo'
template_fallback_index: 'logs-fallback-morio.tokyo'
tls:
ca_file: '/etc/vector/internal-ca.crt'
services.connector.instances.single
Typeobject

Settings for the single instance of the Connector service.

Show Example
Morio settings example: services.connector.instances.single
services:
connector:
instances:
single:
env:
some: 'var'
nodes:
- 'flanking1.morio.it'
- 'flanking2.morio.it'
vector:
sources:
source-id:
type: 'local_morio'
topics:
- 'logs'
transforms:
transform-id:
type: 'remap'
inputs:
- 'source-id'
source: "parsed_message = parse_json!(.message)\n. = parsed_message"
sinks:
sink-id:
type: 'elasticsearch'
inputs:
- 'transform-id'
api_version: 'auto'
compression: 'none'
endpoints:
- 'https://elasticsearch.tokyo.morio.it'
auth:
user: '{|{ ELASTIC_INGESTION_USER }|}'
password: '{|{ ELASTIC_INGESTION_PASSWORD }|}'
strategy: 'basic'
mode: 'bulk'
bulk:
action: 'create'
index: 'logs-{{ .morio.module }}-morio.tokyo'
template_fallback_index: 'logs-fallback-morio.tokyo'
tls:
ca_file: '/etc/vector/internal-ca.crt'
services.connector.instances.single.env
Typeobject

A list of environment variables to set on the service container.

Show Example
Morio settings example: services.connector.instances.single.env
services:
connector:
instances:
single:
env:
some: 'var'
For each entry:
  • Key: Typestring The environment variable name
  • Value: Typestring The environment variable value
services.connector.instances.single.nodes
Required Typearray
Array entries: Typestring Contentone of[object Object]|[object Object]

The nodes to run the cache service on.

Show Example
Morio settings example: services.connector.instances.single.nodes
services:
connector:
instances:
single:
nodes:
- 'flanking1.morio.it'
- 'flanking2.morio.it'
services.connector.instances.single.vector
Typeobject
Show Example
Morio settings example: services.connector.instances.single.vector
services:
connector:
instances:
single:
vector:
sources:
source-id:
type: 'local_morio'
topics:
- 'logs'
transforms:
transform-id:
type: 'remap'
inputs:
- 'source-id'
source: "parsed_message = parse_json!(.message)\n. = parsed_message"
sinks:
sink-id:
type: 'elasticsearch'
inputs:
- 'transform-id'
api_version: 'auto'
compression: 'none'
endpoints:
- 'https://elasticsearch.tokyo.morio.it'
auth:
user: '{|{ ELASTIC_INGESTION_USER }|}'
password: '{|{ ELASTIC_INGESTION_PASSWORD }|}'
strategy: 'basic'
mode: 'bulk'
bulk:
action: 'create'
index: 'logs-{{ .morio.module }}-morio.tokyo'
template_fallback_index: 'logs-fallback-morio.tokyo'
tls:
ca_file: '/etc/vector/internal-ca.crt'
Required Typeobject Lengthminimum1

A Vector source configuration. Refer to the Vector Sinks reference.

Show Example
Morio settings example: services.connector.instances.single.vector.sources
services:
connector:
instances:
single:
vector:
sources:
source-id:
type: 'local_morio'
topics:
- 'logs'
Typeobject
Start of a settings pattern
This marks the start of a settings pattern which allows multiple blocks of these settings to repeat under a different key.
In our documentation, we use source-id as a placeholder key to illustrate this settings pattern.

A Vector source configuration. Refer to the Vector Sinks reference.

Show Example
Morio settings example: services.connector.instances.single.vector.sources.source-id
services:
connector:
instances:
single:
vector:
sources:
source-id:
type: 'local_morio'
topics:
- 'logs'
Optional Typeobject

A Vector transform configuration. Refer to the Vector Transforms reference.

Show Example
Morio settings example: services.connector.instances.single.vector.transforms
services:
connector:
instances:
single:
vector:
transforms:
transform-id:
type: 'remap'
inputs:
- 'source-id'
source: "parsed_message = parse_json!(.message)\n. = parsed_message"
Typeobject
Start of a settings pattern
This marks the start of a settings pattern which allows multiple blocks of these settings to repeat under a different key.
In our documentation, we use transform-id as a placeholder key to illustrate this settings pattern.

A Vector transform configuration. Refer to the Vector Transforms reference.

Show Example
Morio settings example: services.connector.instances.single.vector.transforms.transform-id
services:
connector:
instances:
single:
vector:
transforms:
transform-id:
type: 'remap'
inputs:
- 'source-id'
source: "parsed_message = parse_json!(.message)\n. = parsed_message"
Required Typeobject Lengthminimum1

The Vector sinks configuration. Refer to the Vector Sinks reference.

Show Example
Morio settings example: services.connector.instances.single.vector.sinks
services:
connector:
instances:
single:
vector:
sinks:
sink-id:
type: 'elasticsearch'
inputs:
- 'transform-id'
api_version: 'auto'
compression: 'none'
endpoints:
- 'https://elasticsearch.tokyo.morio.it'
auth:
user: '{|{ ELASTIC_INGESTION_USER }|}'
password: '{|{ ELASTIC_INGESTION_PASSWORD }|}'
strategy: 'basic'
mode: 'bulk'
bulk:
action: 'create'
index: 'logs-{{ .morio.module }}-morio.tokyo'
template_fallback_index: 'logs-fallback-morio.tokyo'
tls:
ca_file: '/etc/vector/internal-ca.crt'
Typeobject
Start of a settings pattern
This marks the start of a settings pattern which allows multiple blocks of these settings to repeat under a different key.
In our documentation, we use sink-id as a placeholder key to illustrate this settings pattern.

The Vector sinks configuration. Refer to the Vector Sinks reference.

Show Example
Morio settings example: services.connector.instances.single.vector.sinks.sink-id
services:
connector:
instances:
single:
vector:
sinks:
sink-id:
type: 'elasticsearch'
inputs:
- 'transform-id'
api_version: 'auto'
compression: 'none'
endpoints:
- 'https://elasticsearch.tokyo.morio.it'
auth:
user: '{|{ ELASTIC_INGESTION_USER }|}'
password: '{|{ ELASTIC_INGESTION_PASSWORD }|}'
strategy: 'basic'
mode: 'bulk'
bulk:
action: 'create'
index: 'logs-{{ .morio.module }}-morio.tokyo'
template_fallback_index: 'logs-fallback-morio.tokyo'
tls:
ca_file: '/etc/vector/internal-ca.crt'

services.console

Optional Typeobject

Settings that apply to the Console service

Show Example
Morio settings example: services.console
services:
console:
env:
some: 'var'

services.console.env

Typeobject

A list of environment variables to set on the service container.

Show Example
Morio settings example: services.console.env
services:
console:
env:
some: 'var'
For each entry:
  • Key: Typestring The environment variable name
  • Value: Typestring The environment variable value

services.db

Optional Typeobject

Settings that apply to the DB service

Show Example
Morio settings example: services.db
services:
db:
env:
some: 'var'

services.db.env

Typeobject

A list of environment variables to set on the service container.

Show Example
Morio settings example: services.db.env
services:
db:
env:
some: 'var'
For each entry:
  • Key: Typestring The environment variable name
  • Value: Typestring The environment variable value

services.eda

Optional Typeobject

Settings that apply to the EdA service

Show Example
Morio settings example: services.eda
services:
eda:
instances:
eda-id:
description: 'EdA instance for the support team'
nodes:
- 'flanking1.morio.it'
cors:
origins:
- 'https://diy.support.corp.morio.it'
- 'http://localhost:3000'

services.eda.instances

Required Typeobject

For consistency, all flanking services are configured through a instances key like this that can hold multiple services instances. However, not all services support multiple instances.
The EdA service does allow multiple instances, but does not support running a single instance on multiple nodes.

Show Example
Morio settings example: services.eda.instances
services:
eda:
instances:
eda-id:
description: 'EdA instance for the support team'
nodes:
- 'flanking1.morio.it'
cors:
origins:
- 'https://diy.support.corp.morio.it'
- 'http://localhost:3000'
services.eda.instances.eda-id
Typeobject
Start of a settings pattern
This marks the start of a settings pattern which allows multiple blocks of these settings to repeat under a different key.
In our documentation, we use eda-id as a placeholder key to illustrate this settings pattern.

For consistency, all flanking services are configured through a instances key like this that can hold multiple services instances. However, not all services support multiple instances.
The EdA service does allow multiple instances, but does not support running a single instance on multiple nodes.

Show Example
Morio settings example: services.eda.instances.eda-id
services:
eda:
instances:
eda-id:
description: 'EdA instance for the support team'
nodes:
- 'flanking1.morio.it'
cors:
origins:
- 'https://diy.support.corp.morio.it'
- 'http://localhost:3000'
services.eda.instances.eda-id.nodes
Required Typearray Lengthequals1
Array entries: Typestring Contentone of[object Object]|[object Object]

The cluster node to run this instance on.

Show Example
Morio settings example: services.eda.instances.eda-id.nodes
services:
eda:
instances:
eda-id:
nodes:
- 'flanking1.morio.it'
services.eda.instances.eda-id.description
Typestring

A description for this EdA instance.

Show Example
Morio settings example: services.eda.instances.eda-id.description
services:
eda:
instances:
eda-id:
description: 'EdA instance for the support team'
services.eda.instances.eda-id.cors
Optional Typeobject

Allow configuration of the CORS headers returned by this service.

Show Example
Morio settings example: services.eda.instances.eda-id.cors
services:
eda:
instances:
eda-id:
cors:
origins:
- 'https://diy.support.corp.morio.it'
- 'http://localhost:3000'
Typearray
Array entries: Typestring

A list of origins to add to the CORS headers.

Show Example
Morio settings example: services.eda.instances.eda-id.cors.origins
services:
eda:
instances:
eda-id:
cors:
origins:
- 'https://diy.support.corp.morio.it'
- 'http://localhost:3000'
services.eda.instances.eda-id.env
Typeobject

A list of environment variables to set on the service container.

For each entry:
  • Key: Typestring The environment variable name
  • Value: Typestring The environment variable value

services.proxy

Optional Typeobject

Settings that apply to the Proxy service

Show Example
Morio settings example: services.proxy
services:
proxy:
env:
some: 'var'

services.proxy.env

Typeobject

A list of environment variables to set on the service container.

Show Example
Morio settings example: services.proxy.env
services:
proxy:
env:
some: 'var'
For each entry:
  • Key: Typestring The environment variable name
  • Value: Typestring The environment variable value

services.snmpproxy

Optional Typeobject

Settings that apply to the SNMPProxy service

Show Example
Morio settings example: services.snmpproxy
services:
snmpproxy:
instances:
single:
auths:
auths-id:
version: 3
username: 'morio'
priv_protocol: 'AES'
auth_protocol: 'SHA256'
security_level: 'authPriv'
password: '{|{ SNMP_AUTH_PASSWORD }|}'
priv_password: '{|{ SNMP_PRIV_PASSWORD }|}'
env:
some: 'var'
nodes:
- 'flanking1.morio.it'
- 'flanking2.morio.it'

services.snmpproxy.instances

Optional Typeobject

For consistency, all flanking services are configured through a instances key like this that can hold multiple services instances. However, not all services support multiple instances.
The SNMPProxy service allows only a single instance, but you can run it on multiple nodes.

Show Example
Morio settings example: services.snmpproxy.instances
services:
snmpproxy:
instances:
single:
auths:
auths-id:
version: 3
username: 'morio'
priv_protocol: 'AES'
auth_protocol: 'SHA256'
security_level: 'authPriv'
password: '{|{ SNMP_AUTH_PASSWORD }|}'
priv_password: '{|{ SNMP_PRIV_PASSWORD }|}'
env:
some: 'var'
nodes:
- 'flanking1.morio.it'
- 'flanking2.morio.it'
services.snmpproxy.instances.single
Typeobject

Settings for the single SNMPProxy service instance.

Show Example
Morio settings example: services.snmpproxy.instances.single
services:
snmpproxy:
instances:
single:
auths:
auths-id:
version: 3
username: 'morio'
priv_protocol: 'AES'
auth_protocol: 'SHA256'
security_level: 'authPriv'
password: '{|{ SNMP_AUTH_PASSWORD }|}'
priv_password: '{|{ SNMP_PRIV_PASSWORD }|}'
env:
some: 'var'
nodes:
- 'flanking1.morio.it'
- 'flanking2.morio.it'
services.snmpproxy.instances.single.nodes
Required Typearray
Array entries: Typestring Contentone of[object Object]|[object Object]

The list of cluster nodes to run this service on.

Show Example
Morio settings example: services.snmpproxy.instances.single.nodes
services:
snmpproxy:
instances:
single:
nodes:
- 'flanking1.morio.it'
- 'flanking2.morio.it'
services.snmpproxy.instances.single.env
Typeobject

A list of environment variables to set on the service container.

Show Example
Morio settings example: services.snmpproxy.instances.single.env
services:
snmpproxy:
instances:
single:
env:
some: 'var'
For each entry:
  • Key: Typestring The environment variable name
  • Value: Typestring The environment variable value
services.snmpproxy.instances.single.auths
Typeobject

Extra authentication settings to add to the service.

Show Example
Morio settings example: services.snmpproxy.instances.single.auths
services:
snmpproxy:
instances:
single:
auths:
auths-id:
version: 3
username: 'morio'
priv_protocol: 'AES'
auth_protocol: 'SHA256'
security_level: 'authPriv'
password: '{|{ SNMP_AUTH_PASSWORD }|}'
priv_password: '{|{ SNMP_PRIV_PASSWORD }|}'
Typeobject
Start of a settings pattern
This marks the start of a settings pattern which allows multiple blocks of these settings to repeat under a different key.
In our documentation, we use auths-id as a placeholder key to illustrate this settings pattern.

Extra authentication settings to add to the service.

Show Example
Morio settings example: services.snmpproxy.instances.single.auths.auths-id
services:
snmpproxy:
instances:
single:
auths:
auths-id:
version: 3
username: 'morio'
priv_protocol: 'AES'
auth_protocol: 'SHA256'
security_level: 'authPriv'
password: '{|{ SNMP_AUTH_PASSWORD }|}'
priv_password: '{|{ SNMP_PRIV_PASSWORD }|}'
Typenumber Valueisinteger

The SNMP version to use for the authentication.

Show Example
Morio settings example: services.snmpproxy.instances.single.auths.auths-id.version
services:
snmpproxy:
instances:
single:
auths:
auths-id:
version: 3
Typestring

The username to use for the authentication.

Show Example
Morio settings example: services.snmpproxy.instances.single.auths.auths-id.username
services:
snmpproxy:
instances:
single:
auths:
auths-id:
username: 'morio'
Typestring

The privacy or encryption algorighm to use for the authentication.

Show Example
Morio settings example: services.snmpproxy.instances.single.auths.auths-id.priv_protocol
services:
snmpproxy:
instances:
single:
auths:
auths-id:
priv_protocol: 'AES'
Typestring

The algorithm to use to check message integrity and the sender's identity.

Show Example
Morio settings example: services.snmpproxy.instances.single.auths.auths-id.auth_protocol
services:
snmpproxy:
instances:
single:
auths:
auths-id:
auth_protocol: 'SHA256'
Typestring

The SNMP security level.

Show Example
Morio settings example: services.snmpproxy.instances.single.auths.auths-id.security_level
services:
snmpproxy:
instances:
single:
auths:
auths-id:
security_level: 'authPriv'
Typestring

The SNMP password for the authentication.

Show Example
Morio settings example: services.snmpproxy.instances.single.auths.auths-id.password
services:
snmpproxy:
instances:
single:
auths:
auths-id:
password: '{|{ SNMP_AUTH_PASSWORD }|}'
Typestring

The SNMP password for AuthPriv mode.

Show Example
Morio settings example: services.snmpproxy.instances.single.auths.auths-id.priv_password
services:
snmpproxy:
instances:
single:
auths:
auths-id:
priv_password: '{|{ SNMP_PRIV_PASSWORD }|}'

services.snmptraps

Optional Typeobject

Settings that apply to the SNMPTraps service

Show Example
Morio settings example: services.snmptraps
services:
snmptraps:
instances:
single:
env:
some: 'var'
nodes:
- 'flanking1.morio.it'
snmptrapd_custom: "# SNMP v3 auth\ncreateUser -e 0x80000009030000000000 morio sha-256 {|{ SNMP_AUTH_PASSWORD }|} aes-128 {|{ SNMP_PRIV_PASSWORD }|}"

services.snmptraps.instances

Optional Typeobject
Show Example
Morio settings example: services.snmptraps.instances
services:
snmptraps:
instances:
single:
env:
some: 'var'
nodes:
- 'flanking1.morio.it'
snmptrapd_custom: "# SNMP v3 auth\ncreateUser -e 0x80000009030000000000 morio sha-256 {|{ SNMP_AUTH_PASSWORD }|} aes-128 {|{ SNMP_PRIV_PASSWORD }|}"
services.snmptraps.instances.single
Optional Typeobject
Show Example
Morio settings example: services.snmptraps.instances.single
services:
snmptraps:
instances:
single:
env:
some: 'var'
nodes:
- 'flanking1.morio.it'
snmptrapd_custom: "# SNMP v3 auth\ncreateUser -e 0x80000009030000000000 morio sha-256 {|{ SNMP_AUTH_PASSWORD }|} aes-128 {|{ SNMP_PRIV_PASSWORD }|}"
services.snmptraps.instances.single.nodes
Required Typearray
Array entries: Typestring Contentone of[object Object]|[object Object]

The list of cluster nodes to run this service on.

Show Example
Morio settings example: services.snmptraps.instances.single.nodes
services:
snmptraps:
instances:
single:
nodes:
- 'flanking1.morio.it'
services.snmptraps.instances.single.env
Typeobject

A list of environment variables to set on the service container.

Show Example
Morio settings example: services.snmptraps.instances.single.env
services:
snmptraps:
instances:
single:
env:
some: 'var'
For each entry:
  • Key: Typestring The environment variable name
  • Value: Typestring The environment variable value
services.snmptraps.instances.single.snmptrapd_custom
Typestring

This allows you to pass custom confirutation to the snmptrapd daemon.

Show Example
Morio settings example: services.snmptraps.instances.single.snmptrapd_custom
services:
snmptraps:
instances:
single:
snmptrapd_custom: "# SNMP v3 auth\ncreateUser -e 0x80000009030000000000 morio sha-256 {|{ SNMP_AUTH_PASSWORD }|} aes-128 {|{ SNMP_PRIV_PASSWORD }|}"

services.tap

Optional Typeobject

Settings that apply to the Tap service

Show Example
Morio settings example: services.tap
services:
tap:
instances:
single:
env:
some: 'var'
threads: 4
max_memory_mb: 1250
nodes:
- 'flanking1.morio.it'

services.tap.instances

Optional Typeobject

For consistency, all flanking services are configured through a instances key like this that can hold multiple services instances. However, not all services support multiple instances.
The Tap service allows only a single instance, but you can increase its thread count.

Show Example
Morio settings example: services.tap.instances
services:
tap:
instances:
single:
env:
some: 'var'
threads: 4
max_memory_mb: 1250
nodes:
- 'flanking1.morio.it'
services.tap.instances.single
Typeobject

Settings for the single SNMPProxy service instance.

Show Example
Morio settings example: services.tap.instances.single
services:
tap:
instances:
single:
env:
some: 'var'
threads: 4
max_memory_mb: 1250
nodes:
- 'flanking1.morio.it'
services.tap.instances.single.env
Typeobject

A list of environment variables to set on the service container.

Show Example
Morio settings example: services.tap.instances.single.env
services:
tap:
instances:
single:
env:
some: 'var'
For each entry:
  • Key: Typestring The environment variable name
  • Value: Typestring The environment variable value
services.tap.instances.single.threads
Optional Typenumber Valueisinteger default1

The number of threads to run for stream processing. Increasing thread count is the recommended way to increase stream processing throughput.

Show Example
Morio settings example: services.tap.instances.single.threads
services:
tap:
instances:
single:
threads: 4
services.tap.instances.single.max_memory_mb
Optional Typenumber Valueisinteger Valueminimum500 default750

The per-thread memory limit in Megabytes. When this limit is reached, the thread will be restarted, so setting it too low can cause a crash loop.

Show Example
Morio settings example: services.tap.instances.single.max_memory_mb
services:
tap:
instances:
single:
max_memory_mb: 1250
services.tap.instances.single.nodes
Typearray Lengthequals1
Array entries: Typestring Contentone of[object Object]|[object Object]

The list of cluster nodes to run this service on.

Show Example
Morio settings example: services.tap.instances.single.nodes
services:
tap:
instances:
single:
nodes:
- 'flanking1.morio.it'

services.ui

Optional Typeobject

Settings that apply to the UI service

Show Example
Morio settings example: services.ui
services:
ui:
env:
some: 'var'
iam:
roles:
labels:
user: 'Staff'
manager: 'Team Leader'
operator: 'Operations'
engineer: 'Morio Core Team'
root: 'MVDP-mode'

services.ui.env

Typeobject

A list of environment variables to set on the service container.

Show Example
Morio settings example: services.ui.env
services:
ui:
env:
some: 'var'
For each entry:
  • Key: Typestring The environment variable name
  • Value: Typestring The environment variable value

services.ui.iam

Optional Typeobject

Settings that control the display of identity providers and roles on the login screen.

Show Example
Morio settings example: services.ui.iam
services:
ui:
iam:
roles:
labels:
user: 'Staff'
manager: 'Team Leader'
operator: 'Operations'
engineer: 'Morio Core Team'
root: 'MVDP-mode'
services.ui.iam.providers
Typeobject
services.ui.iam.providers.order
Typearray
Array entries: Typestring
services.ui.iam.providers.visibility
Typeobject For each entry:
  • Key: Typestring
  • Value: Typestring
services.ui.iam.roles
Optional Typeobject

Allows you to use different labels for Morio's built-in RBAC roles.

Show Example
Morio settings example: services.ui.iam.roles
services:
ui:
iam:
roles:
labels:
user: 'Staff'
manager: 'Team Leader'
operator: 'Operations'
engineer: 'Morio Core Team'
root: 'MVDP-mode'
services.ui.iam.roles.labels
Optional Typeobject

The labels to use for Morio's built-in RBAC roles.

Show Example
Morio settings example: services.ui.iam.roles.labels
services:
ui:
iam:
roles:
labels:
user: 'Staff'
manager: 'Team Leader'
operator: 'Operations'
engineer: 'Morio Core Team'
root: 'MVDP-mode'
Typestring

The label to use for the built-in user role.

Show Example
Morio settings example: services.ui.iam.roles.labels.user
services:
ui:
iam:
roles:
labels:
user: 'Staff'
Typestring

The label to use for the built-in manager role.

Show Example
Morio settings example: services.ui.iam.roles.labels.manager
services:
ui:
iam:
roles:
labels:
manager: 'Team Leader'
Typestring

The label to use for the built-in operator role.

Show Example
Morio settings example: services.ui.iam.roles.labels.operator
services:
ui:
iam:
roles:
labels:
operator: 'Operations'
Typestring

The label to use for the built-in engineer role.

Show Example
Morio settings example: services.ui.iam.roles.labels.engineer
services:
ui:
iam:
roles:
labels:
engineer: 'Morio Core Team'
Typestring

The label to use for the built-in root role.

Show Example
Morio settings example: services.ui.iam.roles.labels.root
services:
ui:
iam:
roles:
labels:
root: 'MVDP-mode'

services.watcher

Optional Typeobject

Settings that apply to the Watcher service

Show Example
Morio settings example: services.watcher
services:
watcher:
instances:
single:
env:
some: 'var'
ping_inventory: true
ca_list:
- 'CERT'
monitors:
icmp-example:
type: 'icmp'
name: 'Ping some hosts'
hosts:
- 'host1.morio.it'
- 'host2.morio.it'
tcp-example:
type: 'tcp'
name: 'Check some ports'
hosts:
- 'host1.morio.it'
- 'host2.morio.it'
ports:
- 1212
- 3434
check:
send: 'foo'
receive: 'bar'
http-example:
type: 'http'
name: 'Test some URLs'
hosts:
- 'https://host1.morio.it'
- 'https://host2.morio.it'
max_redirects: 2
username: 'foo'
password: 'bar'
check:
request:
method: 'GET'
headers:
X-Foo-bar: 'Affirmative'
body: 'hi'
response:
status: 200
headers:
X-Foo-bar: 'Affirmative'
body:
- 'looks'
- 'good'

services.watcher.instances

Optional Typeobject

For consistency, all flanking services are configured through a instances key like this that can hold multiple services instances. However, not all services support multiple instances.
The Watcher service allows only a single instance, but you can run it on multiple nodes.

Show Example
Morio settings example: services.watcher.instances
services:
watcher:
instances:
single:
env:
some: 'var'
ping_inventory: true
ca_list:
- 'CERT'
monitors:
icmp-example:
type: 'icmp'
name: 'Ping some hosts'
hosts:
- 'host1.morio.it'
- 'host2.morio.it'
tcp-example:
type: 'tcp'
name: 'Check some ports'
hosts:
- 'host1.morio.it'
- 'host2.morio.it'
ports:
- 1212
- 3434
check:
send: 'foo'
receive: 'bar'
http-example:
type: 'http'
name: 'Test some URLs'
hosts:
- 'https://host1.morio.it'
- 'https://host2.morio.it'
max_redirects: 2
username: 'foo'
password: 'bar'
check:
request:
method: 'GET'
headers:
X-Foo-bar: 'Affirmative'
body: 'hi'
response:
status: 200
headers:
X-Foo-bar: 'Affirmative'
body:
- 'looks'
- 'good'
services.watcher.instances.single
Typeobject

Settings for the single instance of the Watcher service.

Show Example
Morio settings example: services.watcher.instances.single
services:
watcher:
instances:
single:
env:
some: 'var'
ping_inventory: true
ca_list:
- 'CERT'
monitors:
icmp-example:
type: 'icmp'
name: 'Ping some hosts'
hosts:
- 'host1.morio.it'
- 'host2.morio.it'
tcp-example:
type: 'tcp'
name: 'Check some ports'
hosts:
- 'host1.morio.it'
- 'host2.morio.it'
ports:
- 1212
- 3434
check:
send: 'foo'
receive: 'bar'
http-example:
type: 'http'
name: 'Test some URLs'
hosts:
- 'https://host1.morio.it'
- 'https://host2.morio.it'
max_redirects: 2
username: 'foo'
password: 'bar'
check:
request:
method: 'GET'
headers:
X-Foo-bar: 'Affirmative'
body: 'hi'
response:
status: 200
headers:
X-Foo-bar: 'Affirmative'
body:
- 'looks'
- 'good'
services.watcher.instances.single.env
Typeobject

A list of environment variables to set on the service container.

Show Example
Morio settings example: services.watcher.instances.single.env
services:
watcher:
instances:
single:
env:
some: 'var'
For each entry:
  • Key: Typestring The environment variable name
  • Value: Typestring The environment variable value
services.watcher.instances.single.ping_inventory
Optional Typeboolean

Enable this to run an ICMP healthcheck to all hosts in the inventory/

Show Example
Morio settings example: services.watcher.instances.single.ping_inventory
services:
watcher:
instances:
single:
ping_inventory: true
services.watcher.instances.single.ca_list
Optional Typearray
Array entries: Typestring

A list of PEM-encoded certificates to add to the trusted CAs when running healthchecks.

Show Example
Morio settings example: services.watcher.instances.single.ca_list
services:
watcher:
instances:
single:
ca_list:
- 'CERT'
services.watcher.instances.single.monitors
Optional Typeobject

A list of monitors to run. Refer to the Elastic Heartbeat monitors documenation for all details.

Show Example
Morio settings example: services.watcher.instances.single.monitors
services:
watcher:
instances:
single:
monitors:
icmp-example:
type: 'icmp'
name: 'Ping some hosts'
hosts:
- 'host1.morio.it'
- 'host2.morio.it'
tcp-example:
type: 'tcp'
name: 'Check some ports'
hosts:
- 'host1.morio.it'
- 'host2.morio.it'
ports:
- 1212
- 3434
check:
send: 'foo'
receive: 'bar'
http-example:
type: 'http'
name: 'Test some URLs'
hosts:
- 'https://host1.morio.it'
- 'https://host2.morio.it'
max_redirects: 2
username: 'foo'
password: 'bar'
check:
request:
method: 'GET'
headers:
X-Foo-bar: 'Affirmative'
body: 'hi'
response:
status: 200
headers:
X-Foo-bar: 'Affirmative'
body:
- 'looks'
- 'good'
services.watcher.instances.single.nodes
Typearray Lengthequals1
Array entries: Typestring Contentone of[object Object]|[object Object]

The list of cluster nodes to run this service on.

tokens

Typeobject

Holds feature flags, vars, and secrets.

Show Example
Morio settings example: tokens
tokens:
flags:
DISABLE_IDP_MRT: true
secrets:
SUPER_SECRET_PASSWORD: '{"v":2,"iv":"135364debdaff520eb9ed97e","ct":"08744465c41a5e0753","tag":"e02fbc19428f1ea00a6bab109944b3eb"}'
vars:
KEEP_SETTINGS_DRY: 'with variables'

tokens.flags

Typeobject

Holds feature flags. Refer to the Feature Flags reference for details.

Show Example
Morio settings example: tokens.flags
tokens:
flags:
DISABLE_IDP_MRT: true

tokens.secrets

Typeobject
Show Example
Morio settings example: tokens.secrets
tokens:
secrets:
SUPER_SECRET_PASSWORD: '{"v":2,"iv":"135364debdaff520eb9ed97e","ct":"08744465c41a5e0753","tag":"e02fbc19428f1ea00a6bab109944b3eb"}'

tokens.secrets.0

Optional Typestring

Holds variables that you can re-use inside your settings. Since these are secrets, they will be encrypted.

tokens.secrets.1

Optional Typeobject

Holds vault configuration for variables that you can re-use inside your settings.

For each entry:
  • Key: Typestring The ID of the vault integration
  • Value: Typestring The path under the KV secrets store to fetch the secret from

tokens.vars

Optional Typeobject

Holds variables that you can re-use inside your settings.

Show Example
Morio settings example: tokens.vars
tokens:
vars:
KEEP_SETTINGS_DRY: 'with variables'
For each entry:
  • Key: Typestring
  • Value: Typestring