| Age | Commit message (Collapse) | Author |
|
This makes it possible to run the Sia server executable on systemd-based
Linux distributions with systemd making system administration easier.
Maintaining these files in the source instead of packaging repository
was decided since systemd is the dominant init system across Linux
distributions and thus not every distribution-specific packaging repo
needs to re-invent the wheel.
|
|
The default configuration from the source tree is embedded into the
executable with Go's embed package to assume the correct defaults.
Furthermore it is now also part of the artifact tar archive to give
users an idea how a configuration file should look like.
|
|
This allows to use the version of the project in the build system
independent from the version control system. Thus a source tar archive
can be built the same and also changing the version control system does
not change anything regarding the build process.
|
|
Bundling all build artifacts into one tar archive is good practise to
make deployment easier and underline which files in the build directory
are important.
zstd was picked for compression because of the very good compression
ratio.
|
|
This renames `sia-server` to `sia-server-linux-amd64`. This makes clear
for which target environment the executable is built and allows to later
place additional executables for other environments too without name
collisions.
|
|
This allows overwriting values of the default configuration with custom
ones.
|
|
This is a first step towards configurability.
|
|
|
|
Similar to a previous refactoring of the MQTT-related code this removes
all Homematic logic to a dedicated file.
The only connection to the outside is the `tx chan MQTTMessage` channel
and the `HomematicRun()` function.
This makes the code more modular.
|
|
This reduces the coupling between the MQTT-related code and everything
else to a single `tx` channel of type `MQTTMessage`.
This improves the code quality significantly.
|
|
This avoids frequent MQTT messages containing the same state.
|
|
Meson as a general purpose build system is mightier than what the Go
tool can provide. Furthermore it makes it possible to unify build, run
and other workflows across projects with different languages.
|