Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion specification/src/development/compilation.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ Then you can use the `make.py` script to install what you like:
```bash
python3 make.py libbrane_cli
```
- To build the servives for a control node, run:
- To build the servives for a central node, run:
```bash
python3 make.py instance
```
Expand Down
2 changes: 1 addition & 1 deletion user-guide/src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
- [Installation](./system-admins/installation/introduction.md)
- [Dependencies](./system-admins/installation/dependencies.md)
- [`branectl`](./system-admins/installation/branectl.md)
- [Control node](./system-admins/installation/control-node.md)
- [Central node](./system-admins/installation/control-node.md)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this path has to be updated to ./system-admins/installation/central-node.md, right?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch

- [Worker node](./system-admins/installation/worker-node.md)
- [Proxy node](./system-admins/installation/proxy-node.md)

Expand Down
6 changes: 3 additions & 3 deletions user-guide/src/config/admins/infra.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# The infrastructure file
_<img src="../../assets/img/source.png" alt="source" width="16" style="margin-top: 3px; margin-bottom: -3px;"/> [`InfraFile`](/docs/brane_cfg/infra/struct.InfraFile.html) in [`brane_cfg/infra.rs`](/docs/src/brane_cfg/infra.rs.html)._

The infrastructure file, or more commonly referenced as the `infra.yml` file, is a control node configuration file that is used to define the worker nodes part of a particular BRANE instance. Its location is defined by the [`node.yml`](./node.md) file.
The infrastructure file, or more commonly referenced as the `infra.yml` file, is a central node configuration file that is used to define the worker nodes part of a particular BRANE instance. Its location is defined by the [`node.yml`](./node.md) file.

The [`branectl`](TODO) tool can generate this file for you, using the [`branectl generate infra`](TODO) subcommand. See the [chapter on installing a control node](../../system-admins/installation/control-node.md) for a realistic example.
The [`branectl`](TODO) tool can generate this file for you, using the [`branectl generate infra`](TODO) subcommand. See the [chapter on installing a central node](../../system-admins/installation/central-node.md) for a realistic example.


## Toplevel layout

The `infra.yml` file is written in [YAML](https://yaml.org). It features only the following toplevel field:
- `locations`: A map that details the nodes present in the instance. It maps from strings, representing the node identifiers, to another map with three fields:
- `name`: Defines a human-friendly name for the node. This is only used on the control node, and only to make some logging messages nicer; there are therefor no constraints on this name.
- `name`: Defines a human-friendly name for the node. This is only used on the central node, and only to make some logging messages nicer; there are therefor no constraints on this name.
- `delegate`: The address of the delegate service (i.e., `brane-job`) on the target worker node. Must be given using a scheme (either `http` or `grpc`), an IP address or hostname and a port.
- `registry`: The address of the local registry service (i.e., `brane-reg`) on the target worker node. Must be given using a scheme (`https`), an IP address or hostname and a port.

Expand Down
2 changes: 1 addition & 1 deletion user-guide/src/config/admins/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ The configuration files for administrators are sorted by node type. The files ar


## Control node
- [`infra.yml`](./infra.md): A **YAML** file that defines the worker nodes in the instance represented by the control node.
- [`infra.yml`](./infra.md): A **YAML** file that defines the worker nodes in the instance represented by the central node.
- [`proxy.yml`](./proxy.md): A **YAML** file that defines the proxy settings for outgoing node traffic. Can also be found on the [worker](#worker-node) and [proxy](#proxy-node) nodes.
- [`node.yml`](./node.md): A **YAML** file that defines the environment settings for this node, such as paths of the directories and the other configuration files, ports, hostnames, etc. Can also be found on the [worker](#worker-node) and [proxy](#proxy-node) nodes.

Expand Down
10 changes: 5 additions & 5 deletions user-guide/src/config/admins/node.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ _<img src="../../assets/img/source.png" alt="source" width="16" style="margin-to

The node file, or more commonly referenced as the `node.yml` file, is a central-, worker- and proxy node configuration file that describes the environment in which the node should run. Most notably, it defines the type of node, where any BRANE software (`branectl`, services) may find other configuration files and which ports to use for all of the services.

The [`branectl`](TODO) tool can generate this file for you, using the [`branectl generate node`](TODO) subcommand. See the [chapter on installing a control node](../../system-admins/installation/control-node.md) for a realistic example.
The [`branectl`](TODO) tool can generate this file for you, using the [`branectl generate node`](TODO) subcommand. See the [chapter on installing a central node](../../system-admins/installation/central-node.md) for a realistic example.


## Toplevel layout

The `node.yml` file is written in [YAML](https://yaml.org). It defines only two toplevel fields:
- `hostnames`: A map of strings to other strings, which maps hostnames to IP addresses. This is used to work around the issue that certificates cannot be issued for raw IP addresses alone, and need a hostname instead. The hostnames can be defined in this map to make them available to all the services running in this node. For more information, see the [chapter on installing a control node](../../system-admins/installation/control-node.md#generating-configuration) (at the end).
- `hostnames`: A map of strings to other strings, which maps hostnames to IP addresses. This is used to work around the issue that certificates cannot be issued for raw IP addresses alone, and need a hostname instead. The hostnames can be defined in this map to make them available to all the services running in this node. For more information, see the [chapter on installing a central node](../../system-admins/installation/central-node.md#generating-configuration) (at the end).
- `node`: A map that has multiple variants based on the specific node configuration. These are all treated below in their own sections.

An example of just the toplevel fields would be:
Expand All @@ -34,7 +34,7 @@ _<img src="../../assets/img/source.png" alt="source" width="16" style="margin-to

The first variant of the `node`-map is the `!central` variant, which defines a central node. There are two fields in this map:
- `paths`: A map that defines all paths relevant to the central node. Specifically, it maps a string identifier to a string path. The following identifiers are defined:
- `certs`: The path to the directory with certificate authority files for the worker nodes in the instance. See the [chapter on installing a control node](../../system-admins/installation/control-node.md#adding-certificates) for more information.
- `certs`: The path to the directory with certificate authority files for the worker nodes in the instance. See the [chapter on installing a central node](../../system-admins/installation/central-node.md#adding-certificates) for more information.
- `packages`: The path to the directory where uploaded packages will be stored. This should be a persistent directory, or at the very least exactly as persistent as the storage of the instance's Scylla database.
- `infra`: The path to the [`infra.yml`](./infra.md) configuration file.
- `proxy`: The path to the [`proxy.yml`](./proxy.md) configuration file.
Expand Down Expand Up @@ -87,7 +87,7 @@ The second variant of the `node`-map is the `!worker` variant, which defines a w
- `name` _(or `location_id`)_: A string that contains the identifier used to recognize this worker node throughout the system.
- `usecases` _(or `use_cases`)_: A map of string identifiers to [worker usecases](#worker-usecases). This essentially defines several central instances that the work trusts and is aware of, and acts as a map of the identifier to where to find the instance's registry.
- `paths`: A map that defines all paths relevant to the central node. Specifically, it maps a string identifier to a string path. The following identifiers are defined:
- `certs`: The path to the directory with certificate authority files for the worker nodes in the instance. See the [chapter on installing a control node](../../system-admins/installation/control-node.md#adding-certificates) for more information.
- `certs`: The path to the directory with certificate authority files for the worker nodes in the instance. See the [chapter on installing a central node](../../system-admins/installation/central-node.md#adding-certificates) for more information.
- `packages`: The path to the directory where uploaded packages will be stored. This should be a persistent directory, or at the very least exactly as persistent as the storage of the instance's Scylla database.
- `backend`: The path to the [`backend.yml`](./backend.md) configuration file.
- `policy_database` _(or `policy_db`)_: The path to the [`policies.db`] file that is the persistent storage for the policy's of the worker's `brane-chk` service.
Expand Down Expand Up @@ -146,7 +146,7 @@ _<img src="../../assets/img/source.png" alt="source" width="16" style="margin-to

The third variant of the `node`-map is the `!proxy` variant, which defines a proxy node. There are two fields in this map:
- `paths`: A map that defines all paths relevant to the proxy node. Specifically, it maps a string identifier to a string path. The following identifiers are defined:
- `certs`: The path to the directory with certificate authority files for the worker nodes in the instance. See the [chapter on installing a control node](../../system-admins/installation/control-node.md#adding-certificates) for more information.
- `certs`: The path to the directory with certificate authority files for the worker nodes in the instance. See the [chapter on installing a central node](../../system-admins/installation/central-node.md#adding-certificates) for more information.
- `proxy`: The path to the [`proxy.yml`](./proxy.md) configuration file.

> <img src="../../assets/img/warning.png" alt="warning" width="16" style="margin-top: 3px; margin-bottom: -3px;"/> Note that all paths defined in the `node.yml` file _must_ be absolute paths, since they are mounted as Docker volumes.
Expand Down
2 changes: 1 addition & 1 deletion user-guide/src/config/admins/proxy.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ _<img src="../../assets/img/source.png" alt="source" width="16" style="margin-to

The proxy file, or more commonly referenced as the `proxy.yml` file, is a central-, worker- and proxy node configuration file that describes how to deal with outgoing connections out of the node. For more information, see the documentation for the [`brane-prx`](/docs/brane_prx/index.html) service. Its location is defined by the [`node.yml`](./node.md) file.

The [`branectl`](TODO) tool can generate this file for you, using the [`branectl generate proxy`](TODO) subcommand. See the [chapter on installing a control node](../../system-admins/installation/control-node.md) for a realistic example.
The [`branectl`](TODO) tool can generate this file for you, using the [`branectl generate proxy`](TODO) subcommand. See the [chapter on installing a central node](../../system-admins/installation/central-node.md) for a realistic example.


## Toplevel layout
Expand Down
2 changes: 1 addition & 1 deletion user-guide/src/system-admins/installation/branectl.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,4 @@ To compile the binary, refer to the [compilation instructions](/specification/de
## Next
If you can now run `branectl --help` without errors, congratulations! You have successfully installed the management tool for the Brane instance.

You can now choose what kind of node to install. To install a central node, go to the [next chapter](./control-node.md); go to the [chapter after that](./worker-node.md) to install a worker node; or go the the [final chapter](./proxy-node.md) to setup a proxy node.
You can now choose what kind of node to install. To install a central node, go to the [next chapter](./central-node.md); go to the [chapter after that](./worker-node.md) to install a worker node; or go the the [final chapter](./proxy-node.md) to setup a proxy node.
Loading