/alto

Standard Application-Layer Traffic Optimization (ALTO) Toolset.

Primary LanguagePythonMIT LicenseMIT

Unit Tests by GitHub Actions

Code Coverage by Codecov

OpenALTO

Standard Application-Layer Traffic Optimization (ALTO) Toolset.

Main Components

This ALTO toolset includes the following basic components:

  • ALTO Protocol Parser
  • ALTO Client Library
  • ALTO Client CLI
  • OpenALTO Server Stack
    • OpenALTO Data Source Agent Framework
    • OpenALTO Data Broker Manager
    • OpenALTO Service Backend
    • OpenALTO Protocol Northbound

Server Deployment

Before you set up an OpenALTO server, make sure you have alto.conf in one of the following locations:

  • $HOME/.alto/
  • $XDG_CONFIG_HOME/alto/
  • $ALTO_HOME/etc/
  • /opt/alto/etc/

You can simply copy our template as an example, or modify it:

$ cp etc/alto.conf.template etc/alto.conf

Quick set up with docker and docker-compose:

$ docker build -t openalto/alto .
$ docker-compose up -d

To deploy openalto without docker, please make sure you have the following required packages:

  • Python >= 3.6.8
  • Redis
$ pip3 install .
$ pip3 install redis
$ gunicorn -b 0.0.0.0:8000 --reload --preload --capture-output --error-logfile /tmp/openalto-error.log --access-logfile /tmp/openalto-access.log alto.server.northbound.wsgi -D
$ python3 -m alto.agent.manage --pid /tmp start -c etc/lg-agent.json -D cernlg
$ python3 -m alto.agent.manage --pid /tmp start -c etc/cric-agent.json -D cric
$ python3 -m alto.agent.manage --pid /tmp start -c etc/geoip-delegate-agent.json -D geoip

To deploy openalto in kubernetes:

Coming soon...

Note

This project has been set up using PyScaffold 4.1.5. For details and usage information on PyScaffold see https://pyscaffold.org/.