Files
factorio-clusterio/packages/ctl
Hornwitser 3592ff3269 Remove automatic creation of TLS certificate
The automatic creation of a self-signed certificate while nice presents
several problems.  To make connections not reject the self-signed
certificate the validation of TLS certificates are wholesale disabled,
decreasing the security even when properly set up and trusted
certificates are used.

To make the created self-signed certificate pass validation it is
necessary for it to list the host names it's valid for and to copy it to
each machine that intends to connect to the server.  These two steps
complicate automating the process in a reliable way and will likely lead
to confused users seeking to disable TLS certificate validation as the
easy way out to problems.

For these reasons, remove the automating creation of a broke self-signed
certificate, fix validation of certificates and document how to set up
TLS properly.  This makes HTTPS recommended when accessing over the
internet, but still something which must be explicitly configured.
2021-01-04 08:22:05 +01:00
..
2020-12-14 07:11:34 +01:00
2020-10-28 00:58:01 +01:00

Clusterio Command Line Interface

Provides a command line interface for managing a Clusterio cluster.

Note that this document only describes the options and commands for managing clusterioctl itself, see Managing a cluster for the available commands used for managing a cluster.

Usage

npx clusterioctl <command>

Common options:

  • --plugin-list <file> JSON file to use for storing the list of plugins that are available to ctl. Defaults to plugin-list.json and will be created if it does not exist. See the plugin command for managing this list.

  • --config <file> JSON file to use for storing configuration for ctl. Defaults to config-control.json and will be created if it does not exist. See the config command for inspecting and modifying the configuration.

plugin <command>

Configure plugins available to be loaded by ctl. The available plugins will be automatically loaded and the commands they provide will be added to the ctl utility.

plugin add <path>

Add plugin either by require path or relative/absolute path to the plugin directory. A relative path must start with ./ or ../ (or .\ and ..\ on Windows) otherwise it will be assumed to be a require path for an installed package in node_modules.

For example, installing the Subspace Storage plugin:

npm install @clusterio/plugin-subspace_storage
npx clusterioctl plugin add @clusterio/plugin-subspace_storage

Since the plugin-list.json is shared between master, slave and ctl you usually only need to do this once per machine.

plugin remove <name>

Remove a plugin by its name. This should be done before uninstalling the plugin, otherwise there will be an error when Clusterio tries to load the info from the plugin. Removing and unistalling a plugin is usually not neccessary as the functions provided by the plugin can be disabled in the config.

For example, uninstalling the Subspace Storage plugin:

npx clusterioctl plugin remove subspace_storage
npm uninstall @clusterio/plugin-subspace_storage

Since the plugin-list.json is shared between master, slave and ctl you usually only need to do this once per machine.

plugin list

Lists the plugins set up to be available by name followed by path.

config-control

Manage the ctl configuration. This allows setting the url and token to the master server to manage.

config-control set <config-entry> [value]

Set a config entry to the given value. If value is not provided the entry is set to null. If the config entry is of type object the value must be a valid JSON serialization of an object.

See docs/configuration.md in the main repositiory for the available configuration.

config-control show <config-entry>

Shows the value for a single config entry.

config-control list

Lists up all configuration entries with their currently configured values.

See Also

Managing a cluster for the available commands used for managing a cluster.

The Clusterio repository for instructions on how to set up a cluster.