fleet/docs/development
Fritz ece499d2f6 Add workspace preparation instructions (#1833)
Individuals unaccustomed to building Go projects from source may encounter difficulties cloning into the repo if they choose an arbitrary directory not in ~/go/src. Attempting to build the repo elsewhere will result in the `make deps` command failing. This change adds workspace prep instructions.
2018-06-18 09:23:52 -06:00
..
building-the-code.md Add workspace preparation instructions (#1833) 2018-06-18 09:23:52 -06:00
database-migrations.md rename old references to the binary (#1638) 2017-11-18 19:58:19 -05:00
development-infrastructure.md Fix documentation typos (#1682) 2017-12-21 18:37:32 -08:00
faq.md Update documentation (#1767) 2018-05-07 19:53:53 -06:00
linux.md adding the linux development setup (#1710) 2018-05-04 10:56:51 -06:00
README.md Update documentation (#1767) 2018-05-07 19:53:53 -06:00
testing.md rename old references to the binary (#1638) 2017-11-18 19:58:19 -05:00

Development Documentation

The Fleet application is a Go API server which serves a React/Redux single-page application for the frontend. The development documentation contains documents on the following topics:

Frequently Asked Questions

For FAQs on common Fleet problems, see the FAQ.

Building and contributing code

  • For documentation on building the Fleet source code, see the Building The Code guide.
  • To learn about database migrations and populating the application with default seed data, see the Database Migrations document.

Running tests

For information on running the various tests that Fleet application contains (JavaScript unit tests, Go unit tests, linters, integration tests, etc), see the Testing guide.

Using development infrastructure and tooling

The Fleet application uses a lot of docker tooling to make setting up a development environment quick and easy. For information on this, see the Development Infrastructure document.

Setting up a Launcher environment

It's helpful to have a local build of the Launcher and it's included package building tools when reasoning about connecting the Launcher to Fleet. Both Launcher and Fleet have a similar repository interface that should be familiar.

If you have installed Go, but have never used it before (ie: you have not configured a $GOPATH environment variable), then there's good news: you don't need to do this anymore. By default, the Go compiler now looks in ~/go for your Go source code. So, let's clone the launcher directory where it's supposed to go:

mkdir -p $GOPATH/src/github.com/kolide
cd $GOPATH/src/github.com/kolide
git clone git@github.com:kolide/launcher.git
cd launcher

Once you're in the root of the repository (and you have a recent Go toolchain installed), you can follow the directions included with the Launcher repository:

make deps
make generate
make test
make
./build/launcher --help