Skip to content

Commit

Permalink
Merge develop and fix conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
mcapuccini committed Mar 10, 2022
2 parents 940070a + f414147 commit 0d0e294
Showing 1 changed file with 8 additions and 10 deletions.
18 changes: 8 additions & 10 deletions docs/source/deployment.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,7 @@ and 4 CPUs and 16BG RAM for the combiner host. Each host needs the following:

You can use the follwing bash script to install docker and docker-compose for Ubuntu 20.04 LTS:


Certificates (optional)s
Certificates (optional)
.......................

Certificates are needed for the Reducer and each of the Combiners to enable SSL for secure communication.
Expand All @@ -39,7 +38,7 @@ By default, FEDn will generate unsigned certificates for the reducer and each co
Certificates based on IP addresses are not supported due to incompatibilities with gRPC.

Token authentication (optional)
.......................
...............................
FEDn supports single token authentication between combiners/clients and the reducer. To enable token authentication use :code:`--secret-key=<your-key-phrase>` flag when starting the reducer.
The secret key will generate a token (expires after 90 days by default) and display it in the standard output.
Using this configuration will require combiners and clients to authenticate via either :code:`--token=<generated-token>` or by specifying the "token: <generated-token>" in the settings YAML file provided to :code:`--init`.
Expand All @@ -55,9 +54,8 @@ The Reducer as well as each client needs to be able to resolve the hostname for
we show how this can be achieved if no DNS resolution is available, by setting "extra host" in the Docker containers for the Reducer and client.
Note that there are many other possible ways to achieve this, depending on your setup.


1. Deploy base/supporting services (MinIO, MongoDB and MongoExpress)
---------------------------------------------------------------
--------------------------------------------------------------------

First, use 'config/base-services.yaml' to deploy MinIO and Mongo services on one of the hosts. Edit the file to change the default passwords and ports.

Expand All @@ -74,8 +72,8 @@ First, use 'config/base-services.yaml' to deploy MinIO and Mongo services on one

Copy the file "config/settings-reducer.yaml.template" to "config/settings-reducer.yaml", then

a. Edit 'settings-reducer.yaml' to provide the connection settings for MongoDB and Minio from Step 1.
b. Copy 'config/extra-hosts-reducer.yaml.template' to 'config/extra-hosts-reducer.yaml' and edit it, adding a host:IP mapping for each combiner you plan to deploy.
a. Edit 'settings-reducer.yaml' to provide the connection settings for MongoDB and Minio from Step 1.
b. Copy 'config/extra-hosts-reducer.yaml.template' to 'config/extra-hosts-reducer.yaml' and edit it, adding a host:IP mapping for each combiner you plan to deploy.

Then start the reducer:

Expand Down Expand Up @@ -110,8 +108,8 @@ and update extra hosts for the reducer.

You can now choose an example, upload a compute package and an initial model, and attach clients.

- `Examples <../examples>`__
- `Examples <../../examples>`__

.. note::
The clients will also need to be able resolve the hostname ('host' argument) for each combiner node in the network.
There is template in 'config/extra-hosts-client.yaml.template' that can be modified for this purpose.
The clients will also need to be able to resolve the hostname ('host' argument) for each combiner node in the network.
There is a template in 'config/extra-hosts-client.yaml.template' that can be modified for this purpose.

0 comments on commit 0d0e294

Please sign in to comment.