Type object
File match ixpect.conf.yaml
Schema URL https://catalog.lintel.tools/schemas/schemastore/ixpect-conf-yaml/latest.json
Source https://ixpect.net/0.1/schema/ixpect.conf.schema.json

Versions

0.1

Validate with Lintel

npx @lintel/lintel check
Type: object

Properties

probes object required
9 nested properties
print object
1 nested properties
enable boolean

Enables this probe.

Default: false
arp_neighbor object

The arp_neighbor probe checks the ARP resolution from IP to MAC addresses.

3 nested properties
enable boolean

Enables this probe.

Default: false
static_resolutions ArpNeighborResolutionConfig[]

Static map of ARP resolutions.

dynamic_enable boolean

Enable dynamic learning from observed ARP resolutions.

Default: false
bum_rate object

The bum_rate probe monitors the packet rates of BUM traffic.

3 nested properties
window string required

The aggregation window in which the BUM thresholds are periodically checked.

thresholds object required

The thresholds for different BUM traffic patterns.

3 nested properties
broadcast integer | null
format=uint64min=0
unicast integer | null
format=uint64min=0
multicast integer | null
format=uint64min=0
enable boolean

Enables this probe.

Default: false
ether_type object

The ether_type probe inspects the EtherType of packets.

2 nested properties
enable boolean

Enables this probe.

Default: false
allowed_ether_types integer[]

The list of allowed ether types.

Default:
[]
uniqueItems=true
stp object
1 nested properties
enable boolean

Enables this probe.

Default: false
arp_bogon object

The arp_bogon probe checks IP addresses in ARP resolutions against a prefix whitelist.

2 nested properties
enable boolean

Enables this probe.

Default: false
prefixes string[]

A whitelist of connected prefixes.

Default:
[]
ipv6_bogon object

The ipv6_bogon probe checks IP addresses in IPv6 neighbor discoveries against a prefix whitelist.

3 nested properties
enable boolean

Enables this probe.

Default: false
prefixes string[]

A whitelist of connected prefixes.

Default:
[]
ignore_link_local boolean

Ignore packets from the link-local prefix fe80::/64 w/o explicit whitelisting.

Default: true
ipv6_router object
1 nested properties
enable boolean
Default: false
ipv6_neighbor object

The ipv6_neighbor probe checks the IPv6 neighbor discovery from IP addresses to MAC addresses.

3 nested properties
enable boolean

Enables this probe.

Default: false
static_resolutions Ipv6NeighborResolutionConfig[]

Static map of IPv6 neighbor discoveries.

dynamic_enable boolean

Enable dynamic learning from observed IPv6 neighbor discoveries.

Default: false
event object required
2 nested properties
notifiers object required
5 nested properties
log object
2 nested properties
enable boolean

Enables this notifier.

Default: false
events EventName[]

A whitelist of events processed by this notifier. An empty list accepts any events.

uniqueItems=true
email object
5 nested properties
from string required

The email sender address which should be used.

enable boolean

Enables this notifier.

Default: false
smtp object
template string

The file name of the MiniJinja template in the templates folder that should be used to format the message.

Default: "email.html.j2"

The list of channels.

matrix object
2 nested properties
enable boolean

Enables this notifier.

Default: false

The list of channels.

slack object
2 nested properties
enable boolean

Enables this notifier.

Default: false

The list of channels.

http object
2 nested properties
enable boolean

Enables this notifier.

Default: false

The list of channels.

collection_window string

The time window, in which IXpect will collect and aggregate events. Example: 1hour 12min 5s

The duration string is a concatenation of time spans. Where each time span is an integer number and a suffix. Supported suffixes:

  • nsec, ns -- nanoseconds
  • usec, us, µs -- microseconds
  • msec, ms -- milliseconds
  • seconds, second, sec, s
  • minutes, minute, min, m
  • hours, hour, hr, hrs, h
  • days, day, d
  • weeks, week, wk, wks, w
  • months, month, M -- defined as 30.44 days
  • years, year, yr, yrs, y -- defined as 365.25 days
Default: "5m"

Definitions

ProbesConfig object
print object
1 nested properties
enable boolean

Enables this probe.

Default: false
arp_neighbor object

The arp_neighbor probe checks the ARP resolution from IP to MAC addresses.

3 nested properties
enable boolean

Enables this probe.

Default: false
static_resolutions ArpNeighborResolutionConfig[]

Static map of ARP resolutions.

dynamic_enable boolean

Enable dynamic learning from observed ARP resolutions.

Default: false
bum_rate object

The bum_rate probe monitors the packet rates of BUM traffic.

3 nested properties
window string required

The aggregation window in which the BUM thresholds are periodically checked.

thresholds object required

The thresholds for different BUM traffic patterns.

3 nested properties
broadcast integer | null
format=uint64min=0
unicast integer | null
format=uint64min=0
multicast integer | null
format=uint64min=0
enable boolean

Enables this probe.

Default: false
ether_type object

The ether_type probe inspects the EtherType of packets.

2 nested properties
enable boolean

Enables this probe.

Default: false
allowed_ether_types integer[]

The list of allowed ether types.

Default:
[]
uniqueItems=true
stp object
1 nested properties
enable boolean

Enables this probe.

Default: false
arp_bogon object

The arp_bogon probe checks IP addresses in ARP resolutions against a prefix whitelist.

2 nested properties
enable boolean

Enables this probe.

Default: false
prefixes string[]

A whitelist of connected prefixes.

Default:
[]
ipv6_bogon object

The ipv6_bogon probe checks IP addresses in IPv6 neighbor discoveries against a prefix whitelist.

3 nested properties
enable boolean

Enables this probe.

Default: false
prefixes string[]

A whitelist of connected prefixes.

Default:
[]
ignore_link_local boolean

Ignore packets from the link-local prefix fe80::/64 w/o explicit whitelisting.

Default: true
ipv6_router object
1 nested properties
enable boolean
Default: false
ipv6_neighbor object

The ipv6_neighbor probe checks the IPv6 neighbor discovery from IP addresses to MAC addresses.

3 nested properties
enable boolean

Enables this probe.

Default: false
static_resolutions Ipv6NeighborResolutionConfig[]

Static map of IPv6 neighbor discoveries.

dynamic_enable boolean

Enable dynamic learning from observed IPv6 neighbor discoveries.

Default: false
PrintProbe object
enable boolean

Enables this probe.

Default: false
ArpNeighborConfig object

The arp_neighbor probe checks the ARP resolution from IP to MAC addresses.

enable boolean

Enables this probe.

Default: false
static_resolutions ArpNeighborResolutionConfig[]

Static map of ARP resolutions.

dynamic_enable boolean

Enable dynamic learning from observed ARP resolutions.

Default: false
ArpNeighborResolutionConfig object
ip string required
format=ipv4
mac string required
pattern=^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$
BumRateConfig object

The bum_rate probe monitors the packet rates of BUM traffic.

window string required

The aggregation window in which the BUM thresholds are periodically checked.

thresholds object required

The thresholds for different BUM traffic patterns.

3 nested properties
broadcast integer | null
format=uint64min=0
unicast integer | null
format=uint64min=0
multicast integer | null
format=uint64min=0
enable boolean

Enables this probe.

Default: false
BumRateThresholds object

The thresholds for different BUM traffic patterns.

broadcast integer | null
format=uint64min=0
unicast integer | null
format=uint64min=0
multicast integer | null
format=uint64min=0
EtherTypeConfig object

The ether_type probe inspects the EtherType of packets.

enable boolean

Enables this probe.

Default: false
allowed_ether_types integer[]

The list of allowed ether types.

Default:
[]
uniqueItems=true
StpProbe object
enable boolean

Enables this probe.

Default: false
ArpBogonConfig object

The arp_bogon probe checks IP addresses in ARP resolutions against a prefix whitelist.

enable boolean

Enables this probe.

Default: false
prefixes string[]

A whitelist of connected prefixes.

Default:
[]
Ipv6BogonConfig object

The ipv6_bogon probe checks IP addresses in IPv6 neighbor discoveries against a prefix whitelist.

enable boolean

Enables this probe.

Default: false
prefixes string[]

A whitelist of connected prefixes.

Default:
[]
ignore_link_local boolean

Ignore packets from the link-local prefix fe80::/64 w/o explicit whitelisting.

Default: true
Ipv6RouterProbe object
enable boolean
Default: false
Ipv6NeighborConfig object

The ipv6_neighbor probe checks the IPv6 neighbor discovery from IP addresses to MAC addresses.

enable boolean

Enables this probe.

Default: false
static_resolutions Ipv6NeighborResolutionConfig[]

Static map of IPv6 neighbor discoveries.

dynamic_enable boolean

Enable dynamic learning from observed IPv6 neighbor discoveries.

Default: false
Ipv6NeighborResolutionConfig object
ip string required
format=ipv6
mac string required
pattern=^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$
EventsConfig object
notifiers object required
5 nested properties
log object
2 nested properties
enable boolean

Enables this notifier.

Default: false
events EventName[]

A whitelist of events processed by this notifier. An empty list accepts any events.

uniqueItems=true
email object
5 nested properties
from string required

The email sender address which should be used.

enable boolean

Enables this notifier.

Default: false
smtp object
template string

The file name of the MiniJinja template in the templates folder that should be used to format the message.

Default: "email.html.j2"

The list of channels.

matrix object
2 nested properties
enable boolean

Enables this notifier.

Default: false

The list of channels.

slack object
2 nested properties
enable boolean

Enables this notifier.

Default: false

The list of channels.

http object
2 nested properties
enable boolean

Enables this notifier.

Default: false

The list of channels.

collection_window string

The time window, in which IXpect will collect and aggregate events. Example: 1hour 12min 5s

The duration string is a concatenation of time spans. Where each time span is an integer number and a suffix. Supported suffixes:

  • nsec, ns -- nanoseconds
  • usec, us, µs -- microseconds
  • msec, ms -- milliseconds
  • seconds, second, sec, s
  • minutes, minute, min, m
  • hours, hour, hr, hrs, h
  • days, day, d
  • weeks, week, wk, wks, w
  • months, month, M -- defined as 30.44 days
  • years, year, yr, yrs, y -- defined as 365.25 days
Default: "5m"
EventNotifiersConfig object
log object
2 nested properties
enable boolean

Enables this notifier.

Default: false
events EventName[]

A whitelist of events processed by this notifier. An empty list accepts any events.

uniqueItems=true
email object
5 nested properties
from string required

The email sender address which should be used.

enable boolean

Enables this notifier.

Default: false
smtp object
4 nested properties
host string required

The mail server host.

port integer

The SMTP port of the mail server.

Default: 25
format=uint16min=0max=65535
encryption string
Values: "NONE" "START_TLS" "TLS"
auth object | object | object
template string

The file name of the MiniJinja template in the templates folder that should be used to format the message.

Default: "email.html.j2"

The list of channels.

matrix object
2 nested properties
enable boolean

Enables this notifier.

Default: false

The list of channels.

slack object
2 nested properties
enable boolean

Enables this notifier.

Default: false

The list of channels.

http object
2 nested properties
enable boolean

Enables this notifier.

Default: false

The list of channels.

LogEventNotifierConfig object
enable boolean

Enables this notifier.

Default: false
events EventName[]

A whitelist of events processed by this notifier. An empty list accepts any events.

uniqueItems=true
EventName string | string | string | string | string | string | string | string | string | string | string | string | string | string | string | string | string | string | string | string | string
EMailEventNotifierConfig object
from string required

The email sender address which should be used.

enable boolean

Enables this notifier.

Default: false
smtp object
4 nested properties
host string required

The mail server host.

port integer

The SMTP port of the mail server.

Default: 25
format=uint16min=0max=65535
encryption string
Values: "NONE" "START_TLS" "TLS"
auth object | object | object
template string

The file name of the MiniJinja template in the templates folder that should be used to format the message.

Default: "email.html.j2"

The list of channels.

EMailEventNotifierSmtpConfig object
host string required

The mail server host.

port integer

The SMTP port of the mail server.

Default: 25
format=uint16min=0max=65535
encryption string
Values: "NONE" "START_TLS" "TLS"
auth object | object | object
EMailEventNotifierSmtpEncryption string
EMailEventNotifierSmtpAuthConfig object | object | object
Secret string | object
ChannelEMailEventNotifierConfig object
to string[] required

The list of recipient email addresses.

events EventName[]

A whitelist of events processed by this notifier. An empty list accepts any events.

uniqueItems=true
MatrixEventNotifierConfig object
enable boolean

Enables this notifier.

Default: false

The list of channels.

ChannelMatrixEventNotifierConfig object
server string required

The URL of the matrix server (i.e. <https://matrix.example.net>).

format=uri
internal_room_id string required

The internal room inclung your servers host (i.e. room_id:matrix.example.net).

access_token string | object required
template string

The file name of the MiniJinja template in the templates folder that should be used to format the message.

Default: "matrix.html.j2"
events EventName[]

A whitelist of events processed by this notifier. An empty list accepts any events.

uniqueItems=true
SlackEventNotifierConfig object
enable boolean

Enables this notifier.

Default: false

The list of channels.

ChannelSlackEventNotifierConfig object
webhook string | object required
template string

The file name of the MiniJinja template in the templates folder that should be used to format the message.

Default: "slack.json.j2"
events EventName[]

A whitelist of events processed by this notifier. An empty list accepts any events.

uniqueItems=true
HttpEventNotifierConfig object
enable boolean

Enables this notifier.

Default: false

The list of channels.

ChannelHttpEventNotifierConfig object
url string required

The URL of the remote HTTP endpoint (i.e. <https://api.example.net/api/notify>).

format=uri
content_type string required

The content type of the HTTP body (i.e. application/json).

template string required

The file name of the MiniJinja template in the templates folder that should be used to format the message.

method string

The HTTP method.

Default: "POST"
events EventName[]

A whitelist of events processed by this notifier. An empty list accepts any events.

uniqueItems=true