-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration
AISMixer loads /etc/aismixer/config.yaml when it exists. Otherwise it loads config.yaml in the current working directory.
The examples in the main repository are inactive until copied or adapted by an operator:
| Key | Purpose |
|---|---|
station_id |
Preferred emitted TAG s label when non-empty. Separate from routing source_id. |
debug |
Enables debug printing. |
udp_inputs |
Direct plain UDP listeners. |
sec_inputs |
Direct UDPSEC listeners. |
forwarders |
UDP output destinations. |
udp_alias_map_file |
Optional UDP remote-IP to alias map. |
g_preserve_ingress_gid |
Preserve valid ingress TAG g group ID when possible. |
g_id_digits |
Digit count for generated numeric TAG g IDs. |
g_always_tag_single |
Emit TAG g on single-sentence output when true. |
c_preserve_ingress_c |
Preserve valid ingress TAG c when true. |
routing |
Optional static routing table. |
control |
Optional runtime control configuration. |
udp_inputs:
- id: roof_receiver
listen_ip: "0.0.0.0"
listen_port: 17778
allow_from:
- 192.0.2.15id is optional. A non-empty id becomes the preferred UDP source identity: udp:<id>.
Omitted allow_from means no application ACL. allow_from: [] denies all packets. allow_from: null is invalid.
sec_inputs:
- id: secure_listener_alias
listen_ip: "::"
listen_port: 29999
allow_from:
- 2001:db8:42::/64UDPSEC routing identity comes from the authenticated station ID, not from sec_inputs[].id.
forwarders:
- id: aishub
host: 192.0.2.20
port: 10110
source_ip: 192.0.2.15Named forwarders create target IDs such as udp:aishub. Unnamed forwarders are valid only in legacy broadcast mode.
Omitted source_ip lets the operating system select the source address. source_ip must be a literal IP address; null, hostnames, and CIDR values are invalid.
udp_alias_map_file can point to an IP-to-alias map. Supported shapes include:
udp_alias_map:
- ip: "192.0.2.10"
id: "roof_receiver"or:
192.0.2.10: roof_receiverThe alias can affect UDP source_id and TAG s selection when no stronger configured identity applies.
Omitted routing or routing: null means legacy broadcast mode.
routing:
zones:
fixed_udp:
include:
- udp:roof_receiver
routes:
- name: fixed_to_aishub
from_zone: fixed_udp
to:
- udp:aishubrouting must contain only zones and routes. Unknown fields, missing fields, invalid zone expressions, unknown route zones, and unknown target IDs fail validation.
See Routing Engine.
control is optional. control: null, omitted control, omitted control.unix, or control.unix.enabled: false leaves runtime control disabled.
When control.unix is present, enabled is required and must be a boolean.
control:
unix:
enabled: true
socket_path: /run/aismixer/control.sock
socket_mode: "0660"
max_request_bytes: 1048576Unknown fields are rejected. socket_path is required when enabled. socket_mode accepts octal integer or string forms such as 0o660, "660", or "0660". max_request_bytes must be a positive integer.
AISMixer server keys are installed under:
/etc/aismixer/keys/aismixer_private.pem
/etc/aismixer/keys/aismixer_public.pem
Authorized station public keys are normally stored in:
/etc/aismixer/authorized_keys.yaml
Station private keys belong on nmea_sproxy stations, not on AISMixer.