Hornwitser
9d2e89ec63
Merge pull request #274 from Hornwitser/document-version-requirement
...
Document version requirement
2019-12-29 04:25:32 +01:00
Hornwitser
1b61d09a07
Add docs section on supported versions
...
Add section in the contributing docs about which version of Node.js and
Factorio is supported.
[skip travis]
2019-12-27 06:26:22 +01:00
Arvids Godjuks
ac3aa5ffee
Merge pull request #271 from Hornwitser/remove-old-stats
...
Remove old statistics code
2019-12-25 12:02:18 +02:00
Hornwitser
b2a902f784
Update Node.js requirement documentation
...
Update Node.js version specified in README.md to be explicit about which
versions below 12 is supported, and use version 12 by default.
2019-12-23 23:53:40 +01:00
Hornwitser
f700e98e8e
Remove old statistics code
...
Remove left over code from the old statistics gathering and display
which was replaced with Prometheus+Grafana.
2019-12-22 00:54:45 +01:00
Hornwitser
770c961900
Merge pull request #270 from Hornwitser/plugin-rewrite
...
Plugin system rewrite
2019-12-21 00:49:02 +01:00
Hornwitser
1873f9bda8
Remove UPSdisplay plugin
...
Remove the redundant UPSdisplay plugin. UPS statistics is gathered by
the statistics_exporter plugin.
2019-12-20 21:26:29 +01:00
Hornwitser
26eefb0476
Rewrite statistics export
...
Add automatic export of metrics from slaves to the master server. And
rewrite the statistics export plugin to use this new system.
2019-12-20 21:26:29 +01:00
Hornwitser
8229d1955c
Skip broken Prometheus client tests
...
Skip Prometheus client tests that assume the environment is isolated
from the rest of the tests.
2019-12-20 19:14:35 +01:00
Hornwitser
b4c7824101
Add homebrew Prometheus client
...
Add an implementation of a Prometheus client. This is because the
prom-client implementation seems to have missunderstood how Prometheus
is supposed to work and doesn't allow updating collectors via
asynchronous callback.
2019-12-20 19:14:35 +01:00
Hornwitser
1f6574a89c
Improve master shutdown
...
Close active connections and http servers during master shutdown and let
node exit on its own. If this fails with an error set output streams to
blocking and report it then shutdown with process.exit.
Also add double SIGINT handling to immediately shutdown.
2019-12-20 02:37:27 +01:00
Hornwitser
8b9bb59357
Fix fast-test
...
Fix incorrect locations for slowTest in clusterio integration tests and
add slowTest to the patch integration tests. Fixes fast-test being
broken.
2019-12-14 17:53:34 +01:00
Hornwitser
b71c392b32
Port globalChat to new plugin system
...
Port the globalChat plugin to the new plugin system. Since there's no
config system yet the config options for it is removed.
2019-12-14 17:51:54 +01:00
Hornwitser
bcceae687f
Reimplement plugin system
...
Implement a new plugin system based subclassing pre-defined base clases
and communicating with pre-defined link messages.
2019-12-14 17:48:56 +01:00
Hornwitser
513651393b
Implement forwarding to instances for events
...
Implement forward to instance for Event messages.
2019-12-14 17:31:02 +01:00
Hornwitser
e5115df28b
Implement broadcast for events
...
Add broadcastTo property to events that broadcasts them to all entities
of the specified target that's downstream to the connection it was sent
to.
2019-12-13 22:37:58 +01:00
Hornwitser
21d9fdff7b
Remove old plugin system
...
Remove the old client/instance fused plugin system along with
instanceManagement in client.js and getPlugins in master.js.
2019-12-13 22:37:49 +01:00
Hornwitser
22c325394f
Merge pull request #269 from Hornwitser/link-refactor-2
...
Another link refactor
2019-12-13 22:29:57 +01:00
Hornwitser
ca21ff741b
Add changelog entry for communication rewrite
...
Add entry to changelog detailing the rewrite of the communication layer.
2019-12-13 21:57:05 +01:00
Hornwitser
d4dd290654
Add communication layer docs
...
Add breif description of the link, connector and messages communication
concepts implemented by lib/link.
2019-12-13 21:57:05 +01:00
Hornwitser
f0afbf0a33
Complete test coverage for lib/link/link.js
...
Add tests for the remaining uncovered lines in lib/link/link.js.
2019-12-13 21:57:05 +01:00
Hornwitser
5dd1490c75
Fix clusterctl error on exit
...
Fix code still using the close method on the Link class which was
removed in 3bccbac .
2019-12-13 21:57:05 +01:00
Hornwitser
9c8ae2bf06
Remove debug logging
...
Remove left over verbose debug logging.
2019-12-13 21:57:05 +01:00
Hornwitser
5d8fa4e4ce
Refactor instance communication
...
Change Instance class to be a subclass of Link and refactor the
communication to and establisment of instances to use a virtual
connection between the slave and the instance. This is simplifies the
implementation of plugin communication for instances.
Replace InstanceRequest with a forwardTo option to Request which does
the task of forwarding in a much cleaner way.
2019-12-13 21:57:05 +01:00
Hornwitser
9f24d200b7
Ignore config in top level directory only
...
Change .gitignore to only ignore the config files in the top level
directory of repository. If these files exist elsewhere it's likely
either intended or an error.
2019-12-13 21:57:05 +01:00
Hornwitser
47cff048f0
Improve link error messages
...
Reverse the reversal of source/target in message errors and add link
source and target to the error given when a validator is missing on a
link.
2019-12-13 21:39:54 +01:00
Hornwitser
b24778dce6
Add filter argument to getNewestFile
...
Add filter predicate to allow filtering out files that are not desired
from getNewestFile. This is useful for filtering out .tmp.zip files.
2019-12-13 21:39:54 +01:00
Hornwitser
62afcaadab
Use shared StartupError class
...
Remove separate StartupError class definition in master.js in favor of
the shared StartupError class in lib/error.js.
2019-12-13 21:39:54 +01:00
Hornwitser
b59fd80a7b
Merge pull request #268 from Hornwitser/port-1.2.4
...
Port 1.2.4 fixes
2019-12-13 21:37:17 +01:00
Hornwitser
7a03b84858
Port fix bcrypt failing to install on Windows
...
The maintainers of bcrypt have in their infinite wisdom decided to stop
distributing Windows binaries. Their inner workings remain a mystery.
This is a port of 5fe98a0 .
2019-12-11 02:14:00 +01:00
Survaaki
a2d10c8c02
Add changelog entry from 1.2.4
...
Add changelog entry for the change in the removed master mod uploading.
2019-12-11 02:14:00 +01:00
Hornwitser
3e7f497669
Port remove obsolete flow statistics from clusterioMod
...
Remove the obsolete and broken statistics gather from the clusterioMod
plugin. The statisticsExporter plugin already exports all of the
statistics (and more) that was exported here.
This is a port of 3e7d4a8 .
2019-12-11 02:14:00 +01:00
Hornwitser
f1ac41bc4c
Port fix researchSync updating researched technologies
...
Add check in filter_updated_techs that ignores already researched
technologies.
This is a port of b0eb188 .
2019-12-11 02:14:00 +01:00
Hornwitser
b2239aeb96
Add changelog entry from 1.2.4
...
Add changelog entry for the removal of the combinator signaling which
was first implemented in the master branch.
2019-12-11 02:13:57 +01:00
Hornwitser
34d4604bab
Merge pull request #265 from Hornwitser/link-refactor
...
lib/link refactor and plugin preparations
2019-11-30 00:53:42 +01:00
Hornwitser
ea4f3ab2bf
Remove uncoloured formatting of factorioOutput
...
Since chalk autodetects the color support in the terminal there is no
need for a non-coloured version of formatOutput.
2019-11-30 00:08:10 +01:00
Hornwitser
c6fd46e3c3
Replace sources/targets with links in messages
...
Replace the sources/targets concept with a links array in the message
definitions. Fixes the problem of the actual links the messages applies
to being ambigious when there's multiple sources and targets.
2019-11-30 00:08:10 +01:00
Hornwitser
3be264c9a9
Add integration testing of commands
...
Add testing of the clusterctl commands against the master and slave
code.
2019-11-30 00:08:10 +01:00
Hornwitser
b24c129e38
Improve formating for instance output
...
Use colours instead of dim in the coloured output from clusterctl as not
all terminals support dim.
2019-11-30 00:08:10 +01:00
Hornwitser
f5d2b058d9
Fix deleteInstance returning early
...
Fix deleetInstance returning success before the instance have actually
been deleted.
2019-11-30 00:08:10 +01:00
Hornwitser
3f86011db1
Disable instance plugins
...
Disable the completely broken instance plugins as they break the
integration tests.
2019-11-30 00:08:10 +01:00
Hornwitser
f8aa947a98
Add tests for resolveInstance
...
Add tests for the resolveInstance function in clusterctl.
2019-11-30 00:08:10 +01:00
Hornwitser
bfff297d9a
Add tests for clusterctl's output formatting
...
Add tests for formatOutput and formatOutputColored by using the same
lines as the line parser uses for testing.
2019-11-30 00:08:10 +01:00
Hornwitser
3bccbac496
Refactor to a connector based concept in lib/link
...
Remove connection and client subclasses of Link and put the connection
logic into a "connector" class. The connector deals with sending
and receiving messages, handling the connection and reconnection of lost
connections and giving sequence numbers to messages.
This move the logic of the actual connection away from the link
sub-classes, which in turn means the connection should be a lot easier
to mock in tests.
2019-11-30 00:08:10 +01:00
Hornwitser
a3eb39712c
Make FactorioServer.exampleSettings static
...
Convert the exampleSettings method to be a static method.
2019-11-30 00:08:10 +01:00
Hornwitser
039b41d3e6
Move events and requests into messages
...
Merge the events and requests categories in lib/link into messages and
use the class name of the message to determine which handler to call.
Also swaps the order of the arguments for forwardInstanceRequest to be
consistent with the rest of the lib/link code and fixes up the docs for
requests and events.
2019-11-30 00:08:10 +01:00
Hornwitser
278dc9b2d2
Remove empty instanceManager file
...
Remove the empty/incomplete instanceManager implementation.
2019-11-30 00:08:10 +01:00
Hornwitser
2d3307c045
Remove unused binary option from plugin configs
...
Remove the unimplemented "binary" option from all plugin config files.
Setting this option to something other than "nodePackage" would
supposedly run a binary and feed it with the stdout of the factorio
proccess, but that was never implemented.
2019-11-30 00:08:10 +01:00
Hornwitser
5228e0a4d7
Merge pull request #261 from Hornwitser/daemonize
...
Daemonize Slaves
2019-11-25 23:15:15 +01:00
Hornwitser
d9910b0750
Merge pull request #263 from Hornwitser/contributing-docs
...
Add contributing instructions
2019-11-25 23:13:53 +01:00