The freva-deployment software#
The freva-deployment software is used to deploy Freva in different computing environments. The general strategy is to split the deployment into different steps, these are : - Deploy a MySQL DB server - Deploy a HashiCorp Vault service for storing and retrieving passwords and other sensitive data (this step get automatically activated once the MySQL DB service is set) - Deploy the Freva-Rest Server The Freva Rest deployment consists of three mandatory and two optional parts:
The actual databrowser rest API
Apache solr search backend
Mongodb to store search statistics
Redis server acting as broker (optional)
Data-Loader server that provisions data (netCDF, grb, HDF5 etc) via zarr streams over http (optional)
Deploy command line interface and python library (freva)
Deploy web front end (freva_web) The web front end deployment is sub divided into three parts:
Deployment of the django web application
Deployment of a redis instance acting as database cache
Deployment as a apache httpd service as a reverse proxy server for connections from the client to the django web application.
TLDR; Quickstart Guide#
If you just want to try out Freva or experiment with the freva-deployment
tooling, you can install it via pip:
python -m pip install freva-deployment
To deploy a self-contained version of Freva on your local machine, use the
deploy-freva cmd command with the --local flag:
deploy-freva cmd --local
To customise the configuration, generate a new config file and modify it using
the deploy-freva config subcommands:
deploy-freva config get -r > freva.toml
deploy-freva config set project_name clex -c freva.toml
deploy-freva cmd -c freva.toml --local -g