|
3 | 3 | <img src="https://flower.ai/_next/image/?url=%2F_next%2Fstatic%2Fmedia%2Fflwr-head.4d68867a.png&w=384&q=75" width="140px" alt="Flower Website" align="right" /> |
4 | 4 | </a> |
5 | 5 |
|
6 | | -This is the Flower tutorial repository for PyCon DE & PyData 2025 talk "[The Future of AI is Federated](https://2025.pycon.de/talks/9Y9DM8/)". It describes the prerequisites to setup your tutorial environment and outlines the 3 parts of the tutorials. |
| 6 | +This is the Flower tutorial repository for PyCon DE & PyData 2025 talk "[The Future of AI is Federated](https://2025.pycon.de/talks/9Y9DM8/)". It describes the prerequisites to setup your tutorial environment and outlines the 3 parts of the tutorials. It also includes a bonus part 4 that walks you through setting up a local deployment with both node and secure TLS connection: |
| 7 | + |
| 8 | +1. [Create a Flower App and run it using the Simulation Runtime](#part-1---flower-quickstart-with-pytorch) |
| 9 | +2. [Run a Flower App on a remote SuperLink](#part-2---flower-simulation-runtime-on-a-remote-superlink) |
| 10 | +3. [Deploy and run a Flower App using the Deployment Runtime and Docker](#part-3---flower-deployment-runtime-on-a-remote-superlink) |
| 11 | +4. [(Bonus) Deploy SuperNodes and a SuperLink with node and TLS authentication](#part-4---flower-deployment-runtime-with-tls-and-node-authentication) |
7 | 12 |
|
8 | 13 | At the end of this README, we've included a [`flwr` CLI cheatsheet](#flwr-cli-cheatsheet) to summarize the basic commands used in this tutorial. |
9 | 14 |
|
@@ -227,7 +232,7 @@ awesomeapp |
227 | 232 |
|
228 | 233 | The files that are preceded by asterisks `*` will be used in our deployment. |
229 | 234 |
|
230 | | -### Launch `SuperLink` and `SuperNode`s with certificates and keys |
| 235 | +### Launch `SuperLink` and `SuperNode`s with certificates and keys |
231 | 236 |
|
232 | 237 | > [!NOTE] |
233 | 238 | > From this point onwards, ensure that your working directory where you execute all Flower commands is in `/path/to/app_dir`. This is because the paths to the certificates and keys are relative to execution directory. Optionally, modify the paths below to absolute paths. |
@@ -272,11 +277,10 @@ flower-supernode \ |
272 | 277 |
|
273 | 278 | Now, we need to modify our `pyproject.toml` so that our Flower CLI will connect in a secure way to our `SuperLink`. In the `pyproject.toml`, make the following changes: |
274 | 279 |
|
275 | | -```diff |
| 280 | +```toml |
276 | 281 | [tool.flwr.federations.pyconde] |
277 | | -address = "127.0.0.1:9093" # Point to the local SuperLink address |
278 | | -- insecure = true # Delete this line |
279 | | -+ root-certificates = "certificates/ca.crt" # Points to the path of the CA certificate. Must be relative to `pyproject.toml`. |
| 282 | +address = "127.0.0.1:9093" # Point to the local SuperLink address |
| 283 | +root-certificates = "certificates/ca.crt" # Points to the path of the CA certificate. Must be relative to `pyproject.toml`. |
280 | 284 | ``` |
281 | 285 |
|
282 | 286 | Finally, we can launch the Run in the same way as above, but now with TLS and client authentication like this: |
|
0 commit comments