blob: 637b3db9315ac16c74bef0988fbdab8faeb43c19 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# dvo-api
This project is structured in a way so that development + execution is as easy as possible (using docker), while still making the code as modular as possible.
For eg., nothing extra needs to be done to import 3rd party libraries - simply add it to the imports in the applicable file, and docker will handle the rest duing the image build.
## Project details
See the [confluence page](https://confluence.acuityads.com/display/ITOPS/Devops+Monitor+API).
## General rules
1. Each new functionality (endpoint) should be a new package in `src/` under a package sub-dir with the **same name as the package itself**.
2. To maintain **styling consistency**, all *.go* files must be run through `go fmt` prior to making a PR. See https://blog.golang.org/gofmt for a guide.
## Dependencies
1. docker
## Running locally
1. Clone the repo etc.
2. Build and run: `docker-compose build && docker-compose up -d --force-recreate`
## Update the K8S deployment
Suppose you have made code updates and want to deploy these updates into k8s, follow these steps:
1. Updated docker image (acuitydevops/dvo-api:latest) and push to dockerhub - rebuild_image.sh
2. Restart the deployment: `kubectl rollout restart deployment/dvo-api -n devops-scheduler`. Since we set the image pull setting to "Always" in the deployment spec, the updated image should be pulled in the pod recreation - restart_service.sh
|