Commit Graph

37 Commits

Author SHA1 Message Date
Augusto Dwenger J. b6d00cac27
Add new builds pipeline to build the docker image
Refactor the CI pipeline to enable the new building pipeline which depends on the tests pipeline to succeed.
The new pipeline will build the go package and build the docker image. The docker image only get build if the active branch is the master branch and tag it with latest. It also tags the image if the pipeline got triggered by a new tag -> the tag has to be in the following format -> v1.0.0 (it will omit the 'v') to be used as an image tag.
2020-11-17 17:56:43 +01:00
Augusto Dwenger 7c0e51ad48 Merge branch 'develop'
Add middleware tests
Fix inMemDB insertion bug -> Not taking the correct hostname
Fix data races produced by the db
Improve parameter/argument parsing
Add env variables parsing
Add Dockerfile
2020-11-11 16:25:54 +01:00
Augusto Dwenger 3874593a8d Update README.md TODOs
Configuration through env vars is now possible.
2020-11-11 16:24:26 +01:00
Augusto Dwenger 771ce66ce2 Add mechanism to return a copy of the original slice
This is to prevent further data races.
2020-11-11 16:21:15 +01:00
Augusto Dwenger c997dbaf22 Fix inMemDB data races
All calls to the inMemDB are now synced.
2020-11-11 12:28:11 +01:00
Augusto Dwenger 461f4b4c94 Add required flag for the token
The default flag parsing engine from go was replaced by the the package
github.com/gessevdk/go-flags. It provides more options to parse flags
from the program args and from env vars.
2020-11-11 11:01:13 +01:00
Augusto Dwenger 0813994589 Add vscode directory to ignore 2020-11-11 10:41:43 +01:00
Augusto Dwenger 6d9049820f Fix db returning not the newst stats
Getting stats for a host returned allways the oldest item.
Now inserting an item stores it at the beginning of the list ->
without changing the getting stategy it will now return the newst item.
2020-11-11 10:25:59 +01:00
Augusto Dwenger 131a71620d Fix insertion error
It woudn't use the hostname from the func params.
2020-11-10 19:07:22 +01:00
Augusto Dwenger 4eafabc465 Add more fields to the Stats struct
Add json serialization information
Add one complete data example to the db init script
2020-11-06 09:33:08 +01:00
Augusto Dwenger efb9d7aace Change docker base image to alpine
It reduces the image by >100MB.
2020-11-03 15:32:49 +01:00
Augusto Dwenger 8a75d06913 Add Dockerfile 2020-11-02 15:56:40 +01:00
Augusto Dwenger 6ce7d15af9 Add test to the auth middleware 2020-10-30 14:41:15 +01:00
Augusto Dwenger cf9b72970b Merge branch 'develop' into master
Implement middlewares -> logging, panic/recover and auth
Fix Host controller errors
2020-10-30 12:22:10 +01:00
Augusto Dwenger 3f6a54a4e3 Update README.md
Checked the auth middelware todo.
2020-10-30 12:20:41 +01:00
Augusto Dwenger b07ffc5f7e Impement auth middleware
The middleware checks for the presents of a 'Token' header and
if the provided token is valid. It adds a authorization layer with
some basic configuration options.
2020-10-30 12:18:26 +01:00
Augusto Dwenger 2ae33c6e1b Add default middlewares
Add request logging middleware
Add panic recover middleware
2020-10-30 11:31:57 +01:00
Augusto Dwenger f61cd0ad83 Set verbose log level to trace 2020-10-30 10:32:11 +01:00
Augusto Dwenger 6ac85cc2a8 Change testing from assertion to require
The benefit of require is that on a fail it will stop the test
execution.
2020-10-27 12:07:52 +01:00
Augusto Dwenger d6158dbe37 Add timeout for idle connections 2020-10-27 12:07:30 +01:00
Augusto Dwenger 96f1638564 Merge branch 'feature/hosts-testing' into develop
Add CI/CD pipeline with drone ci
Add application logging
Add flags to configure the server
2020-10-26 22:37:15 +01:00
Augusto Dwenger 445055c332 Add error better handling for PostStats func 2020-10-26 22:29:57 +01:00
Augusto Dwenger d4bcc3d453 Change error message in GetStats
Add more tests.
2020-10-26 21:51:54 +01:00
Augusto Dwenger 1661266f9e Fix if an unknown error happens getting the host information
The function will now exit earlier and write an 500 status code
with the error message to the response.
2020-10-24 17:51:11 +02:00
Augusto Dwenger c550341eb9 Add error response if pagination query is negative 2020-10-24 12:16:02 +02:00
Augusto Dwenger b8f6a1a65b Add first test for GetHosts -> proof of concept
Implementing first http test.
2020-10-20 21:01:53 +02:00
Augusto Dwenger f02ef31225
Add CI/CD pipeline status badge 2020-10-19 17:44:44 +02:00
Augusto Dwenger 2aa6a84854
Create .drone.yml 2020-10-19 17:40:40 +02:00
Augusto Dwenger 7f817e166f Implement logrus for logging
Fix wrong error handling if host was not found getting the stats for it.
Add configuration flags to configure the logging.
2020-10-18 19:01:40 +02:00
Augusto Dwenger 3dfb18f67d Change returned status code to 201 2020-10-18 17:02:10 +02:00
Augusto Dwenger 092739985c Implement flag to change the http port 2020-10-18 16:40:34 +02:00
Augusto Dwenger 01fcd41b94 Add some To-Do's to the README.md 2020-10-18 15:52:19 +02:00
Augusto Dwenger f8dea66ada Add some To-Do's to the README.md 2020-10-18 15:49:58 +02:00
Augusto Dwenger 44897b3b5a Implement the hosts controller
Simple interaction with the db like getting some data and inserting
new data points into it.
2020-10-18 15:38:57 +02:00
Augusto Dwenger cc663128f4 Implement in memory db for development 2020-10-16 17:38:30 +02:00
Augusto Dwenger b661972795 Add project context 2020-10-13 21:03:21 +02:00
Augusto Dwenger 1bdc4deeca
Initial commit 2020-09-24 21:42:03 +02:00