The way I understood "function library" there would be an optional package that you could install, or some script file you could download to the router and call from your scripts, containing a collection of utility functions as a layer on top of (i.e. written in) the scripting language.
Basically anyone can write that in the latter form, and some people indeed did so.
But there never was an official MikroTik supported version, not even an endorsed one.
Of course in many cases it would be much more efficient (or it would even be the only practical way...) to have new functions available as built-in functions in the scripting language itself. I would not call that a library, but still it would be welcome.
I think I might be just Mikrotikās target audience, and I think Iād thread carefully in its place.
Something like the UniFi Controlller is pretty to look at but it aināt very useful. Itās slow, itās got so many problems with from adoption, to disconnections, to being unable to handle consecutive (not ātoo many-ā, just Ā·āconsecutivesā) updates, all of which Mikrotik doesnāt have plus accessibility issues for installers (that thing when you come down the white bright rooftop into an air conditioned relatively dark server room and you try to read fonts too thin) which are a staple for this mgmt utils. Iād document better instead. The documentation is written for the CLI, but the CLI isnāt whatās encouraged to use, thereās this myriad of admin UIs but only documentation for the one without any graphics, often with graphics/screenshots/suggestions for the other ones. Itās also in a needlessly technical language most of the time but itās not technical enough where it matters so there are no ambiguitiesāthere are way too many of those. Sure itās hard to contemplate all possibilities in computer networking being nearly endless, but it can be done because itās been done, thereās another vendor whoās managed.
Iām referring to pfSense. If I had to improve Mikrotikās , Iād take a look at what used to be called The pfSense Book (now just its documentation) for guidance. It does an outstanding job of explaining why things work as they do and even why decisions of the UI were taken in some instances addressing straight on their shortcomings.
You donāt need to dumb things down the way Apple, Ubiquiti, Cloudflare, (..) and others do, itās kind of infuriating when yet another vendor discovers minimalism and your settings are gone. This is how we end up with these annoying certificate warnings in every browser on non-routable addresses, if we were taught, we probably wouldnāt be needing to be treated like children, Iām sugar coating there, and end up with lack of options, and expensive, limited and cumbersome controller device or alternatively āmanagement as a serviceā, what UniFi turned into. UniFi still canāt multi-WAN properly, basics like DHCP reservations are kind of there, itās over a decade old. Also there is telemetry; every device, even outdoor wireless radios are consistently trying to contact external web, STUN servers, IP addresses in China, were Ubiquiti hosts some of its UNMS or whatever itās called lately. The forum, is mostly complaints now and not a link easy to find anymore, maybe itās related.
Ubiquiti for years have been trying to get rid of support for ālegacyā (Wi-Fi 4) devices and has deleted the needed apps to access the old self-hosted NVRs, another form of controller. People got angry because you could only access your cameras if you maintained a Play Store, Apple ID account in which you got the apps earlier before or trust the company wonāt have another change of heart and upgrade. As for the APs, theyād become unmanageable just because they didnāt feel like maintaining that support, which wouldnāt be required if the APs had a built-in admin UI like Mikotikās do. It seems they reversed that somewhat, you can still manage the APs in the latest controller but not group them to newer ones. It was too late though, a lot customers called it quits.
Focus on documentation, build-it right in Winbox or one of these great UIs you already have which are as powerful as you know how to make them do things, make documentation offline, not links to a wiki which arenāt helpful when youāre setting up a deviceāwhen you need it the most. Finding the default IP management address shouldnāt take half an hour. Things like Mikrotik āHomeā or whatever dumb things down way too hard and donāt provide a learning/evolving path to follow. For those of us coming with advanced, already set up networks on platforms a little more straightforward, reaching the level of knowledge necessary to deploy the same infrastructure can be cost-prohibitive in terms of time/downtime. The first time I tried a Mikrotik router, I ended up returning it because it was going to take way too much time to set up. The last time I tried Mikrotik (itās been like 4 or 5) I couldnāt find how to set up full cone NAT on a dynamic IP interface without first learning pretty high level scripting.
Native support for push metrics / streaming telemetry!
Support for pushing data to influxdb or similar. Weāve moved away from ānetwork monitoringā tools towards grafana dashboards for all server monitoring, firewalls, and are attempting to do the same on routers/switches. No SNMP inbound, proxies, agents, etc. Just a clean feed of desired details streamed off to a target of choice.
you could setup a public CHR to which your to-be-managed tiks would connect via ovpn/sstp/wireguard (with a /30 subnet for instance or framed /32), establish a routing-protocol for automatic route exchange with route filters in place so every device has its own Lo0 address and you also connect to that CHR and route your management subnet (in which the Lo0 address reside) to that CHR
so NAT is no problem any more in fact. and with sstp/ovpn on tcp port 443 it even would be possible to maybe deploy tiks in china xD
Following up, the devices should reach out to the controller, not the other way around. Push metrics to the controller is a good start. Controller keeps a git (or other version control database) for configs, and endpoint devices pull the latest config.
Yes, you could still potentially compromise the controller and use it to deliver compromised configs, but the controller has no inherent path to the sites. And in metrics-only mode (config pull disabled / manual on the device), thereās zero path in. Weāre using this sort of strategy with a number of clients for whom data security is paramount. We provide remote monitoring of systems, but have provably zero access to the data within. A breach of our systems cannot get back to the customer, but we still provide a lot of value from metrics monitoring and analysis.
I know this sorta gets into the user facing end of things, but Aruba is doing a nice job of the config part with NetEdit. Other guys keep mentioning RANCID. This is the opposite flow. Config builder / git repo at the head end, and network devices pull their configs down.
We are a large 802.11 WISP with a managed BYOD wireless client service. We are in a phase of transitioning heavily to MikroTik products for our backhaul. We are interested in your CAP access points to install in homes and businesses, but your CAPsMAN controller currently has an issue which is fatal to our use case:
If the controlled AP loses contact with the CAPsMAN controller, it kills the radio and stops broadcasting entirely. This will suffice for local CAPsMAN management, but we require central management of thousands of separate sites (multi-tenancy). In order to do that with your controller with uninterrupted failover, we would need to run VRRP and script an automated sync. All our last-mile wifi services would be at unacceptable risk of total catastrophic failure. Our current vendorsā APs cache their config and continue broadcasting with its last known settings if it loses access to a central controller.
Is there an effort to add a feature like this for multi-tenancy and non-distributed CAPsMAN control?