Deployment Platform/Gateway
Background
This is one of possible deployment scenarios of Deployment_Platform. This page is intended to describe procedures for school servers that behave as gateways for school students.
Targeting environment
The standard targeting environment, final environment might be similar, assumes:
- School server;
- Client machines connected via Intranet to the server.
Server side
Run Sugar Network node
Attach Factory Sweets Distribution repository and install sugar-network
package.
Before running server, populate the /etc/sugar-network/config
configuration file with content similar to following (to get full list of configuration options, call the sugar-network-node config
command):
[main] # path to a directory to place log files logdir = /var/log/sugar-network # path to a directory to place pid files rundir = /var/run/sugar-network # if specified, use this directory for cached files; such files might take # considerable number of bytes cachedir = /var/cache/sugar-network [node] host = 0.0.0.0 port = 8000 # path to a directory to place server data data-root = /var/lib/sugar-network # switch off user credentials check; disabling this option will require # OpenSSH-5.6 or later trust-users = True
Make sure that all directories in config file are created and current user have write permissions there.
Run node server:
sugar-network-node start
Server will start serving Sugar Network API for clients from host
:port
specified in configuration file.
Synchronization with master node
Note that newly installed Sugar Network node will be empty, its content should be fetched from the master node.
If school server has Internet connectivity, launch sugar-network-node
and start online synchronization:
sugar-network-node online-sync
If only sneakernet is available:
sugar-network-node offline-sync PATH-TO-PLACE-SYNCHRONIZATION-FILES
Last command path will contain files that should be uploaded to the master to download response. Postponed synchronization will happen by running sugar-network-sync
shell script (which will be created by offline-sync
command in targeting path) in environment with Internet connectivity. Then, re-run offline-sync
command specifying path with new file synchronization files.
Client side
Configuration
Clients should be pointed to the Sugar Network node launched on a school server. Populate /etc/sweets.conf
configuration file with the following options:
[client] api-url = http://SCHOOL-SERVER-HOST-HERE:8000
Run Sugar Network clients
Right now, the easiest way to get working Sugar Network clients is using Sugar Shell with embedded Sugar Network support.
On XO laptops, use one of reference images or final deployment ones like from Hexoquinasa project.
On regular desktops:
- Attach Factory Sweets Distribution repository;
- Install
sweets-desktop
package; - Run newly installed Sugar Shell;
- By default, Sugar Shell looks the same as in pristine Glucose. To start using Sugar Network related improvements in the Shell UI, go to the Sweets Distribution component in the Control Panel, enable the integration checkbox, and restart Sugar. After restarting, Web UI client will be available from the Activities tray and the F8 shortcut key. Contributor Hub client can be launched from F8 as regular Sugar Network application.
Sugar Network client logs can be found ~/.sugar/default/logs/sugar-network-client
file. Logging verbosity level depends on global Sugar setting.