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](./faq.md). ## Building and contributing code - For documentation on building the Fleet source code, see the [Building The Code](./building-the-code.md) guide. - To learn about database migrations and populating the application with default seed data, see the [Database Migrations](./database-migrations.md) 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](./testing.md) 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](./development-infrastructure.md) 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 ``` ## Releasing Fleet The release process for Fleet is documented in [release.md](./release.md).