2793 feat mikrotik support api #3018
No reviewers
Labels
No labels
1week
2weeks
Failed compliance check
IP cameras
NATS
Possible security concern
Review effort 1/5
Review effort 2/5
Review effort 3/5
Review effort 4/5
Review effort 5/5
UI
aardvark
accessibility
amd64
api
arm64
auth
back-end
bgp
blog
bug
build
checkers
ci-cd
cleanup
cnpg
codex
core
dependencies
device-management
documentation
duplicate
dusk
ebpf
enhancement
eta 1d
eta 1hr
eta 3d
eta 3hr
feature
fieldsurvey
github_actions
go
good first issue
help wanted
invalid
javascript
k8s
log-collector
mapper
mtr
needs-triage
netflow
network-sweep
observability
oracle
otel
plug-in
proton
python
question
reddit
redhat
research
rperf
rperf-checker
rust
sdk
security
serviceradar-agent
serviceradar-agent-gateway
serviceradar-web
serviceradar-web-ng
siem
snmp
sysmon
topology
ubiquiti
wasm
wontfix
zen-engine
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
carverauto/serviceradar!3018
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "refs/pull/3018/head"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Imported from GitHub pull request.
Original GitHub pull request: #2998
Original author: @mfreeman451
Original URL: https://github.com/carverauto/serviceradar/pull/2998
Original created: 2026-03-06T21:15:08Z
Original updated: 2026-03-07T00:34:19Z
Original head: carverauto/serviceradar:2793-feat-mikrotik-support-api
Original base: staging
Original merged: 2026-03-07T00:34:17Z by @mfreeman451
IMPORTANT: Please sign the Developer Certificate of Origin
Thank you for your contribution to ServiceRadar. Please note, when contributing, the developer must include
a DCO sign-off statement indicating the DCO acceptance in one commit message. Here
is an example DCO Signed-off-by line in a commit message:
Describe your changes
Issue ticket number and link
Code checklist before requesting a review
Imported GitHub PR comment.
Original author: @qodo-code-review[bot]
Original URL: https://github.com/carverauto/serviceradar/pull/2998#issuecomment-4014200864
Original created: 2026-03-06T21:16:06Z
Review Summary by Qodo
Add MikroTik RouterOS REST API discovery support with encrypted credentials and device enrichment
✨ Enhancement🧪 Tests📝 DocumentationWalkthroughs
Description
Diagram
File Changes
1. elixir/web-ng/lib/serviceradar_web_ng_web/live/settings/networks_live/index.ex
✨ Enhancement+262/-432. elixir/serviceradar_core/test/serviceradar/network_discovery/mapper_compiler_test.exs
🧪 Tests+103/-193. elixir/serviceradar_core/lib/serviceradar/inventory/sync_ingestor.ex
✨ Enhancement+71/-0View more (24)
4. elixir/serviceradar_core/lib/serviceradar/agent_config/compilers/mapper_compiler.ex
✨ Enhancement+33/-25. elixir/serviceradar_core/lib/serviceradar/network_discovery/mapper_mikrotik_controller.ex
✨ Enhancement+157/-06. elixir/web-ng/test/phoenix/live/settings/networks_live_test.exs
🧪 Tests+61/-17. elixir/serviceradar_core/test/serviceradar/inventory/sync_ingestor_vendor_type_test.exs
🧪 Tests+73/-08. elixir/serviceradar_core/lib/serviceradar/network_discovery/changes/normalize_mikrotik_base_url.ex
✨ Enhancement+103/-09. elixir/serviceradar_core/test/serviceradar/network_discovery/mapper_mikrotik_controller_test.exs
🧪 Tests+82/-010. elixir/serviceradar_core/priv/repo/migrations/20260306180000_add_mapper_mikrotik_controllers.exs
⚙️ Configuration changes+53/-011. elixir/serviceradar_core/lib/serviceradar/network_discovery/mapper_job.ex
✨ Enhancement+4/-012. elixir/serviceradar_core/lib/serviceradar/network_discovery.ex
✨ Enhancement+1/-013. go/pkg/mapper/mikrotik_poller.go
✨ Enhancement+693/-014. go/pkg/mapper/mikrotik_poller_test.go
🧪 Tests+248/-015. go/pkg/mapper/discovery.go
✨ Enhancement+41/-916. go/pkg/agent/mapper_config_gateway.go
✨ Enhancement+61/-3017. go/pkg/agent/mapper_config_gateway_test.go
🧪 Tests+143/-018. go/pkg/mapper/api_selector.go
✨ Enhancement+67/-019. go/pkg/mapper/ubnt_poller.go
✨ Enhancement+11/-3020. go/pkg/mapper/types.go
✨ Enhancement+10/-021. openspec/changes/add-mikrotik-routeros-discovery/design.md
📝 Documentation+156/-022. docs/docs/discovery.md
📝 Documentation+71/-023. openspec/changes/add-mikrotik-routeros-discovery/specs/network-discovery/spec.md
📝 Documentation+49/-024. openspec/changes/add-mikrotik-routeros-discovery/tasks.md
📝 Documentation+32/-025. openspec/changes/add-mikrotik-routeros-discovery/proposal.md
📝 Documentation+37/-026. openspec/changes/add-mikrotik-routeros-discovery/specs/device-inventory/spec.md
📝 Documentation+23/-027. go/pkg/mapper/BUILD.bazel
✨ Enhancement+2/-0Imported GitHub PR comment.
Original author: @qodo-code-review[bot]
Original URL: https://github.com/carverauto/serviceradar/pull/2998#issuecomment-4014200928
Original created: 2026-03-06T21:16:07Z
Code Review by Qodo
🐞 Bugs (2)📘 Rule violations (1)📎 Requirement gaps (1)1.
Tests run CREATE TABLE☑📘 Rule violation✓ Correctness2.
Null secret breaks parsing☑🐞 Bug⛯ Reliability3. No reproducible CHR run notes
📎 Requirement gap⛯ Reliability4. All-zero MAC device IDs
🐞 Bug✓ CorrectnessImported GitHub PR review comment.
Original author: @github-advanced-security[bot]
Original URL: https://github.com/carverauto/serviceradar/pull/2998#discussion_r2897918722
Original created: 2026-03-06T21:18:38Z
Original path: go/pkg/mapper/mikrotik_poller.go
Original line: 350
Incorrect conversion between integer types
Incorrect conversion of an integer with architecture-dependent bit size from strconv.Atoi to a lower bit size type int32 without an upper bound check.
Show more details
Imported GitHub PR review comment.
Original author: @qodo-code-review[bot]
Original URL: https://github.com/carverauto/serviceradar/pull/2998#discussion_r2897934654
Original created: 2026-03-06T21:23:04Z
Original path: elixir/serviceradar_core/test/serviceradar/network_discovery/mapper_compiler_test.exs
Original line: 213
1. Tests run create table
📘 Rule violation✓ CorrectnessAgent Prompt
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation toolsImported GitHub PR review comment.
Original author: @qodo-code-review[bot]
Original URL: https://github.com/carverauto/serviceradar/pull/2998#discussion_r2897934655
Original created: 2026-03-06T21:23:04Z
Original path: elixir/serviceradar_core/lib/serviceradar/agent_config/compilers/mapper_compiler.ex
Original line: 91
2. Null secret breaks parsing
🐞 Bug⛯ ReliabilityAgent Prompt
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation toolsImported GitHub PR comment.
Original author: @qodo-code-review[bot]
Original URL: https://github.com/carverauto/serviceradar/pull/2998#issuecomment-4014959471
Original created: 2026-03-07T00:26:37Z
CI Feedback 🧐
A test triggered by this PR failed. Here is an AI-generated analysis of the failure:
Action: build
Failed stage: Configure SRQL fixture database for tests [❌]
Failed test name: ""
Failure summary:
The action failed because a required secret for the test/fixture setup was not provided:
- The
workflow explicitly exited with
SRQL_TEST_DATABASE_CA_CERT secret must be configured to verify SRQLfixture TLS.(exit code 1), and the environment showsSRQL_TEST_DATABASE_CA_CERT:was empty.- A
later
fatal: No url found for submodule path ... in .gitmodulesoccurred during post-job cleanup andis logged as a warning; it did not cause the main job failure.
Relevant error logs: