Fleet is the lightweight, programmable telemetry platform for servers and workstations. Get comprehensive, customizable data from all your devices and operating systems — without the downtime risk.
Go to file
Zachary Wasserman 604e3e4fb0 Improve error handling throughout backend (#50)
* New function `errors.ReturnError` for writing errors into the HTTP response
* New type `KolideError` that includes additional error context
* Validation and application errors are reported in a consistent JSON format
* Add 404 handler
* Refactored error handling throughout codebase to use new error patterns
2016-08-09 19:04:28 -07:00
app Improve error handling throughout backend (#50) 2016-08-09 19:04:28 -07:00
config Fix certificate path in development config (#55) 2016-08-09 16:18:03 -07:00
errors Improve error handling throughout backend (#50) 2016-08-09 19:04:28 -07:00
Godeps Improve error handling throughout backend (#50) 2016-08-09 19:04:28 -07:00
sessions Improve error handling throughout backend (#50) 2016-08-09 19:04:28 -07:00
tools Fix certificate path in development config (#55) 2016-08-09 16:18:03 -07:00
.gitignore Improve error handling throughout backend (#50) 2016-08-09 19:04:28 -07:00
circle.yml Attempt to clean the codebase (#53) 2016-08-09 10:24:29 -07:00
docker-compose.yml Use Godep to vendor in all dependencies (#40) 2016-08-04 16:57:22 -04:00
kolide.go Fix certificate path in development config (#55) 2016-08-09 16:18:03 -07:00
README.md Adding a circle config file (#52) 2016-08-08 20:42:24 -07:00

Kolide CircleCI

Building

To build the code, run the following from the root of the repository:

go build -o kolide

Testing

To run the application's tests, run the following from the root of the repository:

go test

Or if you using the Docker development environment run:

docker-compose app exec go test

Development Environment

To set up a canonical development environment via docker, run the following from the root of the repository:

docker-compose up

Once completed, you can access the application at https://<your-docker-ip>:8080 where your-docker-ip is localhost in most native docker installations.

This requires that you have docker installed. At this point in time, automatic configuration tools are not included with this project.

If you'd like to shut down the virtual infrastructure created by docker, run the following from the root of the repository:

docker-compose down

Once you docker-compose up and are running the databases, you can re-build the code with:

docker-compose exec app go build -o kolide

and then run the following command to create the database tables:

docker-compose exec app ./kolide prepare-db

Docker Deployment

This repository comes with a simple Dockerfile. You can use this to easily deploy Kolide in any infrastructure context that can consume a docker image (heroku, kubernetes, rancher, etc).

To build the image locally, run:

docker build --rm -t kolide .

To run the image locally, simply run:

docker run -t -p 8080:8080 kolide