Administrator Documentation for LCMAP System Deployment
About ↟
The LCMAP system project is a meta-project of sorts, fulfilling the the following high-level duties:
- Providing documentation for setting up a complete LCMAP deployment
- Providing instructions and scripts for bootstrapping an LCMAP development environment, and
- Maintaining a parent project for the Clojure dependencies of all other Clojure-based LCMAP system projects
System Documentation ↟
This is the source for the LCMAP System documentation site:
The means by which one deploys the LCMAP system are documented there. The docs site utilizes TripIt's Slate project.
If you will be working on the LCMAP system docs locally or publishing changes to the Github docs site for LCMAP, you will need to have the appropraite tools installed on your system. You will need the following:
- Ruby
- Ruby gems
With those installed, you can set up this project's dependencies with the following:
$ make setup-docs
This will install Ruby Bundler and then Slate's dependencies.
To run the development web server (serving content locally) while update the docs, you may do the following:
$ make devdocs
Once complete, you may publish with this target:
$ make publish
Development Environment ↟
If you will be working on other LCMAP system components. You can set up an Ubuntu 14.04 development environment with the following:
export LCMAP_HOME="$HOME/Projects/lcmap"
export CDPATH="$CDPATH:$LCMAP_HOME"
make setup-deps
make clone
With LCMAP system dependencies installed, you can bootstrap DB like so:
cd lcmap-data && make db-setup && cd -
Finally, you can launch the LCMAP REST API and an authentication service:
make run
Project Dependencies ↟
As of version 2.7.0, lein
offers the ability to manage dependencies of projects, and in conjunction with the lein-parent
plugin, one may reduce the dependency management across all related projects (eight and growing, in the case of the LCMAP system) to a single project.clj
file. This is what we have chosen to do, and this is how the project.clj
file in lcmap-system is used.
License ↟
Copyright © 2015-2016 United States Government
NASA Open Source Agreement, Version 1.3