You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+6-8
Original file line number
Diff line number
Diff line change
@@ -7,9 +7,10 @@ After moving resources away from mainstream cloud provider infrastructure and st
7
7
8
8
# How it Works
9
9
10
-
- GetGo runs as a **systemd** service inside your Debian-Based Virtual Machice. It exposes a simple HTTP POST endpoint at localhost:32041/deploy/**service-name**. The endpoint expects a json body similar to [what dockerhub uses for its webhooks](https://docs.docker.com/docker-hub/webhooks/#example-webhook-payload).
10
+
- GetGo runs as a **systemd** service inside your Debian-Based Virtual Machice. It exposes a simple HTTP POST endpoint at localhost:32041/deploy. The endpoint expects a json body similar to [what dockerhub uses for its webhooks](https://docs.docker.com/docker-hub/webhooks/#example-webhook-payload).
11
+
12
+
- If there is a running container with a name that matches the `repository.repo_name-push_tag.tag` then GetGo pulls the new image, destroys and recreates the container, exposing the same ports.
11
13
12
-
- If there is a container with a name that matches url path param **service-name** AND the `push_data.tag == "stable"` then GetGo pulls the new image based on `repository.repo_name:stable`, destroys any containers that match the **service-name** and recreated them, exposing the same ports.
13
14
# Install and Configure
14
15
15
16
## Requirements
@@ -49,16 +50,13 @@ After installing you have a service running in your system that exposes a simple
49
50
Since this is a Continious Deployment tool, it only makes sense if you can hit this endpoint via the internet. At this point you should make sure that http://locahost:31042/deploy is accessible from the outside world. If you use NGINX you can read more on how to do this [here](https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/).
50
51
51
52
The last piece of the puzzle is configuring the source of the "to-be-deployed" container. GetGo was written for consuming calls made from [DockerHub Webhooks](https://docs.docker.com/docker-hub/webhooks).
52
-
If you've wired up your web-server to correctly forward calls from `https://your-web-server-domain.com/deploy/service-name` to `http://localhost:31042/deploy/service-name` then GetGo will start a deployment process if**ALL** of the following criteria are met:
53
+
If you've wired up your web-server to correctly forward calls from `https://your-web-server-address.com/deploy` to `http://localhost:31042/deploy` then GetGo will start a deployment process if the following criteria are met:
53
54
54
55
1. The HTTP POST request has a body that follows the [DockerHub Webhook schema](https://docs.docker.com/docker-hub/webhooks/#example-webhook-payload).
55
-
2. The `push_data.tag` property is equal to `"stable"`
56
-
3. There is a container running on your machine, with a container name that matches the `service-name`.
56
+
2. There is a container running on your machine, with a container name that matches the `repo_name-pushed_tag`.
57
57
58
58
59
59
## What NOT to expect from GetGo
60
60
61
-
- GetGo does not deploy your containers for the first time. **It expects of you to set the container up for the first time, with a **container-name** and networking properties of your choice.**
62
-
- GetGo operations for deployment get triggered on by receiving a `push_data.tag == "stable"` for now.
61
+
- GetGo does not deploy your containers for the first time. **It expects of you to set the container up for the first time, with a container-name=repository.repo_name-push_data.tag and networking properties of your choice.**
63
62
- It is your responsibility to expose the port of this service to the internet on any of your VMs if you want to trigger it from an online container registry (like Dockerhub)
64
-
- It is also expected of you to set up the webhook of your registry correctly. The **service-name** url param should match the **container-name** running on your machine.
0 commit comments