Monteur, being created using Go Programming Language, has the ability to identify a runtime operating system and its CPU architecture. The combind values are known as platform condition. This section explains these conditions in details.
Supporting Cross-Platform Operations
To ensure Monteur enables its customers to be able to work on different devices and platforms, Monteur has to specify all its runtime conditions at some points for defining a configuration files.
Example, for Commands Execution Unit, a customer can generate a list of commands that is specific
to a platform and CPU architecture (e.g.
Although Monteur is created using Go Programming Language and
go tool dist list provides a great deal of supported cross-platform
linux/amd64) but the values' format is not usable for
filename and others.
As such, Monteur modifies the output to use simple dash (
-) so that it can
be deployed in both filenames and taken as values consistently. Example:
linux/amd64 ➤ evolves into ➤
Hence, in Monteur, the platform ID complies to the following pattern:
There are certain situation where a configuration is platform independent (e.g.
go command since it is using external binary compiler).
Hence, Monteur supplies a generic
all-all value to represent it instead of
listing all the conditions (which is a horror experience).
Often, whenever a configuration requires a platform identification, it is
usually named under
Condition. Then depending on the deployment, that
configuration will only be considered when Monteur is operating on a matching
Here is an example from Commands Execution Unit where each command unit has a
Condition to tell Monteur when to take them in:
Now that we understand how Monteur performs platform identifications, here are the list of Monteur supported platforms:
That’s all for Monteur’s Platform Identification. If you have any queries, please proceed to contact us via our Issues Section channel.