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
This project provides a GitOps tool for Docker Compose on a Docker container.
8
8
9
9
The application clones a GitHub repository, periodically checks for changes to a specific branch and path, and deploys or updates the project using Docker Compose.
10
10
11
11
At the end of each time interval, in addition to checking for changes and updating the deployment, it re-runs the initial command so that if a service has been removed, it is redeployed while maintaining parity between the deployment on the host and the compose files on Github.
12
12
13
-
bulckan will show in the logs all the steps to deploy the compose file. It will also store and log the name specified in compose, the last commit that forced the deployment or update on the host, and the number of times it has been updated due to changes on GitHub.
13
+
PulseOps will show in the logs all the steps to deploy the compose file. It will also store and log the name specified in compose, the last commit that forced the deployment or update on the host, and the number of times it has been updated due to changes on GitHub.
14
14
15
15
## Requirements:
16
16
- Docker
17
17
- Docker Compose
18
18
- Access to a GitHub repository (public or private)
19
19
20
-
bulckan only monitors changes in the specified path and will only update the configuration of the docker compose file. It does not monitor if the images have been updated, use [Watchtower](https://containrrr.dev/watchtower/?ref=selfh.st) for that by deploying it with bulckan or implement a workflow that changes the image version in the compose when the image is rebuilt.
20
+
PulseOps only monitors changes in the specified path and will only update the configuration of the docker compose file. It does not monitor if the images have been updated, use [Watchtower](https://containrrr.dev/watchtower/?ref=selfh.st) for that by deploying it with PulseOps or implement a workflow that changes the image version in the compose when the image is rebuilt.
21
21
22
-
Note: To test the functionality, it is possible to deploy bulckan as configured. The application points to a branch of the same repository that contains the [compose files](https://github.com/dockopslab/bulckan/tree/example/bulckan-target) needed to deploy one or more Apache containers.
22
+
Note: To test the functionality, it is possible to deploy PulseOps as configured. The application points to a branch of the same repository that contains the [compose files](https://github.com/dockopslab/pulseops/tree/example/pulseops-target) needed to deploy one or more Apache containers.
23
23
24
24
## Configuration
25
25
First, clone this repository and navigate to the project directory:
Configure the ``.env`` file to access the repository, branch and path where the compose file you want to deploy and maintain with this tool is located:
Last deployed commit: 3ee4dfad909302af3e7561a2877ac1addfc0119d
59
59
Total updates: 1
60
60
apache2 Pulling
@@ -88,19 +88,19 @@ Total updates: 1
88
88
Sleeping for 60 seconds...
89
89
```
90
90
91
-
By adding the following tags to the target application's compose file, information tags will be set on the containers with the commit that forced the last deployment and the number of updates bulckan has performed to maintain parity:
91
+
By adding the following tags to the target application's compose file, information tags will be set on the containers with the commit that forced the last deployment and the number of updates PulseOps has performed to maintain parity:
92
92
93
93
```
94
94
labels:
95
-
- "bulckan.deploy.update_count=${UPDATE_COUNT}"
96
-
- "bulckan.deploy.last_commit=${LAST_COMMIT}"
95
+
- "pulseops.deploy.update_count=${UPDATE_COUNT}"
96
+
- "pulseops.deploy.last_commit=${LAST_COMMIT}"
97
97
```
98
98
99
-
See an example in this [compose file](https://github.com/dockopslab/bulckan/blob/example/bulckan-target/sample/docker-compose.yml).
99
+
See an example in this [compose file](https://github.com/dockopslab/pulseops/blob/example/pulseops-target/sample/docker-compose.yml).
100
100
101
101
# Multiple deployment configuration
102
102
103
-
bulckan can be deployed multiple times, so it can point to different repositories and keep different applications updated and deployed at the same time.
103
+
PulseOps can be deployed multiple times, so it can point to different repositories and keep different applications updated and deployed at the same time.
104
104
105
105
If necessary, configure the ``.git.env`` file:
106
106
```
@@ -110,36 +110,36 @@ GITHUB_TOKEN=
110
110
111
111
Configure environment variables in ``compose.example.yml``:
112
112
```
113
-
name: 'bulckan-example'
113
+
name: 'pulseops-example'
114
114
115
115
networks:
116
-
bulckan:
116
+
pulseops:
117
117
118
118
volumes:
119
119
repo1:
120
120
repo2:
121
121
repo3:
122
122
123
123
services:
124
-
bulckan1:
125
-
image: ghcr.io/dockopslab/bulckan:latest
124
+
pulseops1:
125
+
image: ghcr.io/dockopslab/pulseops:latest
126
126
env_file:
127
127
- .git.env
128
128
environment:
129
-
- GITHUB_URL=github.com/dockopslab/bulckan.git
130
-
- GITHUB_BRANCH=example/bulckan-target
129
+
- GITHUB_URL=github.com/dockopslab/pulseops.git
130
+
- GITHUB_BRANCH=example/pulseops-target
131
131
- GITHUB_PATH=watchtower/
132
132
- CHECK_INTERVAL=3600
133
133
volumes:
134
134
- /var/run/docker.sock:/var/run/docker.sock
135
135
136
-
bulckan2:
137
-
image: ghcr.io/dockopslab/bulckan:latest
136
+
pulseops2:
137
+
image: ghcr.io/dockopslab/pulseops:latest
138
138
env_file:
139
139
- .git.env
140
140
environment:
141
-
- GITHUB_URL=github.com/dockopslab/bulckan.git
142
-
- GITHUB_BRANCH=example/bulckan-target
141
+
- GITHUB_URL=github.com/dockopslab/pulseops.git
142
+
- GITHUB_BRANCH=example/pulseops-target
143
143
- GITHUB_PATH=sample/
144
144
- CHECK_INTERVAL=120
145
145
volumes:
@@ -148,13 +148,13 @@ services:
148
148
....
149
149
```
150
150
151
-
bulckan deployment:
151
+
PulseOps deployment:
152
152
153
153
```
154
154
docker-compose -f compose.example.yml up -d
155
155
```
156
156
157
-
Note: Before deploying multiple docker-compose.yml with Bulckan, it is necessary to check for possible incompatibilities. Errors due to duplication of exposed ports, service names, networks, and others must be corrected before deployment.
157
+
Note: Before deploying multiple docker-compose.yml with PulseOps, it is necessary to check for possible incompatibilities. Errors due to duplication of exposed ports, service names, networks, and others must be corrected before deployment.
158
158
159
159
## Contributions
160
160
Contributions are welcome. Please open an issue or send a pull request to improve this project.
0 commit comments