isle/docs/operator/configuring-networks.md

70 lines
2.9 KiB
Markdown

# Configuring Networks
Only users who intend on providing some resource to a network, such as
[storage][storage] or [a public address][publicaddr], will need to perform any
network-related configuration on their host.
There are two different ways to manage the configuration of a host related to a
particular network: command-line, or configuration file. Command-line is
generally more convenient, but the configuration file exposes even more
fine-grained controls for super power users and might be preferred by them.
When a host is joined to multiple networks the user is able to configure some
of them using one mode and the rest using the other.
[storage]: contributing-storage.md
[publicaddr]: contributing-a-public-address.md
## Command-line Interface (CLI)
Configuring using the CLI is as easy as using the `isle` command-line tool, and
is covered by other documentation such as those linked above.
Keep in mind that if a network's configuration is managed by a configuration
file then the related CLI commands will return an error indicating that the
configuration file must be modified instead.
```bash
isle vpn public-address unset
# [4] Network configuration is managed by the daemon.yml
```
## Configuration File (daemon.yml)
A `daemon.yml` file can be provided to the daemon process when it is run using
the `--config-path` parameter. If Isle is [installed from a package][install]
then this file will be automatically referenced by the daemon service, and can
be found at `/etc/isle/daemon.yml`. If not the steps to create it are described
in that same document.
Within the `daemon.yml` is the `networks` field, which accepts a mapping of
network identifier to network configuration. The comments in the file itself
describe the available configuration parameters.
There are three different ways to identify the network in this file:
* Network identifier (a big long random string, unique to each network)
* Network name
* Network domain
If you're not sure of how to identify a network, you can see all three for each
network using the `isle network list` command:
[install]: ../install.md
## Switching From CLI to Configuration File (or Vice-Versa)
If you want to switch from using CLI-based configuration to using the
configuration file, you only need to add the desired configuration to the
`daemon.yml` file and restart the `isle` process.
You can use `isle network get-config` to get the currently active configuration
for a network in the same format as would be used in `daemon.yml`. This can be
copy-pasted into the `daemon.yml` for a clean transition.
If you want to switch from using the configuration file to using CLI-based
configuration you only need to remove the section of the configuration file
related to the network and restart the `isle` service. Isle will remember the
most recently used configuration for the network and use that upon restart if
none is provided in the configuration file.