Skip to content

Commit 436e900

Browse files
author
ben honda
committed
add backwork-notifier-http package and config
1 parent a1b65a2 commit 436e900

File tree

5 files changed

+47
-21
lines changed

5 files changed

+47
-21
lines changed

.env.example

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,10 @@ export EDXAPP_MONGO_PASSWORD="$MONGO_BACKUP_PASSWORD"
4242

4343
export HTTP_NOTIFIER_URL=
4444
export HTTP_NOTIFIER_METHOD=
45-
export HTTP_NOTIFIER_HEADERS=
45+
export HTTP_NOTIFIER_ADD_HEADERS=
46+
export HTTP_NOTIFIER_BEARER_TOKEN=
47+
export HTTP_NOTIFIER_BASIC_AUTH_USER=
48+
export HTTP_NOTIFIER_BASIC_AUTH_PASS=
4649
export HTTP_NOTIFIER_PARAMS=
4750
export HTTP_NOTIFIER_DATA=
48-
export HTTP_NOTIFIER_KEY_FOR_ERROR_MESSAGE=
51+
export HTTP_NOTIFIER_KEY=

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
77

88
## [Unreleased][]
99

10+
## [1.6.0][] - 2021-02-11
11+
12+
### Added
13+
14+
- support for [backwork-notifier-http](https://pypi.org/project/backwork-notifier-http)
15+
1016
## [1.4.0][] - 2019-08-18
1117

1218
### Changed

backwork/docker-entrypoint.sh

Lines changed: 29 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,41 @@ set -eo pipefail
44
# Docker volume for backups
55
export BACKUP_PATH=/backups
66

7-
NOTIFICATION_NOTIFIERS=("-n")
7+
NOTIFICATION_NOTIFIERS=(-n)
88
NOTIFICATION_SETTINGS=()
99

1010
# sentry
1111
if [[ -n ${SENTRY_DSN:-} ]]; then
1212
# add notifier
13-
NOTIFICATION_NOTIFIERS+=("sentry")
13+
NOTIFICATION_NOTIFIERS+=(sentry)
1414
# Sentry DSN
1515
NOTIFICATION_SETTINGS+=("--sentry-dsn=${SENTRY_DSN:?}")
1616
fi
1717

18-
# http_requests
18+
# http notifier
1919
if [[ -n ${HTTP_NOTIFIER_URL:-} ]]; then
2020
# add notifier
21-
NOTIFICATION_NOTIFIERS+=("http_requests")
21+
NOTIFICATION_NOTIFIERS+=(http)
2222

2323
# endpoint url
2424
NOTIFICATION_SETTINGS+=("--http-notifier-url=${HTTP_NOTIFIER_URL:?}")
2525

26-
# headers
27-
if [[ -n ${HTTP_NOTIFIER_HEADERS:-} ]]; then
28-
NOTIFICATION_SETTINGS+=("--http-notifier-headers=${HTTP_NOTIFIER_HEADERS:?}")
26+
# auth stuff
27+
if [[ -n ${HTTP_NOTIFIER_BEARER_TOKEN:-} ]]; then
28+
NOTIFICATION_SETTINGS+=("--http-notifier-bearer=${HTTP_NOTIFIER_BEARER_TOKEN:?}")
29+
fi
30+
31+
if [[ -n ${HTTP_NOTIFIER_BASIC_AUTH_USER:-} ]]; then
32+
NOTIFICATION_SETTINGS+=("--http-notifier-basic-user=${HTTP_NOTIFIER_BASIC_AUTH_USER:?}")
33+
fi
34+
35+
if [[ -n ${HTTP_NOTIFIER_BASIC_AUTH_PASS:-} ]]; then
36+
NOTIFICATION_SETTINGS+=("--http-notifier-basic-pass=${HTTP_NOTIFIER_BASIC_AUTH_PASS:?}")
37+
fi
38+
39+
# additional headers
40+
if [[ -n ${HTTP_NOTIFIER_ADD_HEADERS:-} ]]; then
41+
NOTIFICATION_SETTINGS+=("--http-notifier-add-headers=${HTTP_NOTIFIER_ADD_HEADERS:?}")
2942
fi
3043

3144
# method
@@ -40,12 +53,12 @@ if [[ -n ${HTTP_NOTIFIER_URL:-} ]]; then
4053

4154
# data body
4255
if [[ -n ${HTTP_NOTIFIER_DATA:-} ]]; then
43-
NOTIFICATION_SETTINGS+=("--http-notifier-data=${HTTP_NOTIFIER_DATA:?}")
56+
NOTIFICATION_SETTINGS+=("--http-notifier-data='${HTTP_NOTIFIER_DATA:?}'")
4457
fi
4558

4659
# key for error message
47-
if [[ -n ${HTTP_NOTIFIER_KEY_FOR_ERROR_MESSAGE:-} ]]; then
48-
NOTIFICATION_SETTINGS+=("--http-key-for-error-message=${HTTP_NOTIFIER_KEY_FOR_ERROR_MESSAGE:?}")
60+
if [[ -n ${HTTP_NOTIFIER_KEY:-} ]]; then
61+
NOTIFICATION_SETTINGS+=("--http-notifier-key=${HTTP_NOTIFIER_KEY:?}")
4962
fi
5063
fi
5164

@@ -87,7 +100,7 @@ upload_backup() {
87100
remote_path="${SOFTLAYER_PATH:?}/$(date +%Y/%m)"
88101

89102
log "Uploading backup"
90-
backwork "${NOTIFICATION_NOTIFIERS[@]} ${NOTIFICATION_SETTINGS[@]}" upload softlayer \
103+
backwork "${NOTIFICATION_NOTIFIERS[@]}" "${NOTIFICATION_SETTINGS[@]}" upload softlayer \
91104
--username "${SOFTLAYER_USER:?}" \
92105
--api-key "${SOFTLAYER_API_KEY:?}" \
93106
--datacenter "${SOFTLAYER_DATACENTER:?}" \
@@ -134,7 +147,7 @@ upload_backup_cos() {
134147
fi
135148

136149
log "Uploading backup to IBM COS"
137-
backwork "${NOTIFICATION_NOTIFIERS[@]} ${NOTIFICATION_SETTINGS[@]}" upload cos \
150+
backwork "${NOTIFICATION_NOTIFIERS[@]}" "${NOTIFICATION_SETTINGS[@]}" upload cos \
138151
--endpoint-url "${IBM_COS_ENDPOINT_URL}" \
139152
--instance-id "${IBM_COS_INSTANCE_ID}" \
140153
--access-key "${IBM_COS_ACCESS_KEY}" \
@@ -170,7 +183,7 @@ back_up_mongo() {
170183
then
171184
echo "MONGO_URI is not specified, trying MONGO_HOST"
172185
else
173-
backwork "${NOTIFICATION_NOTIFIERS[@]} ${NOTIFICATION_SETTINGS[@]}" backup mongo \
186+
backwork "${NOTIFICATION_NOTIFIERS[@]}" "${NOTIFICATION_SETTINGS[@]}" backup mongo \
174187
--uri "${MONGO_URI}" \
175188
--archive="${BACKUP_PATH:?}/${filename}" \
176189
--gzip
@@ -183,7 +196,7 @@ back_up_mongo() {
183196
then
184197
echo "MONGO_HOST is not specified, skipping."
185198
else
186-
backwork "${NOTIFICATION_NOTIFIERS[@]} ${NOTIFICATION_SETTINGS[@]}" backup mongo \
199+
backwork "${NOTIFICATION_NOTIFIERS[@]}" "${NOTIFICATION_SETTINGS[@]}" backup mongo \
187200
-u "${MONGO_BACKUP_USER}" \
188201
-p "${MONGO_BACKUP_PASSWORD}" \
189202
--host="${MONGO_HOST}" \
@@ -206,7 +219,7 @@ back_up_mysql() {
206219
filename=mysql_backup_$(date +"%Y%m%d_%H%M%S").archive.gz
207220

208221
log "Taking mysql backup"
209-
backwork "${NOTIFICATION_NOTIFIERS[@]} ${NOTIFICATION_SETTINGS[@]}" backup mysql \
222+
backwork "${NOTIFICATION_NOTIFIERS[@]}" "${NOTIFICATION_SETTINGS[@]}" backup mysql \
210223
--output="${BACKUP_PATH:?}/${filename}" \
211224
--gzip \
212225
--all-databases \
@@ -242,7 +255,7 @@ back_up_postgresql() {
242255

243256
filename=postgresql_backup_${database:?}_$(date +"%Y%m%d_%H%M%S").archive.gz
244257

245-
backwork "${NOTIFICATION_NOTIFIERS[@]} ${NOTIFICATION_SETTINGS[@]}" backup postgresql \
258+
backwork "${NOTIFICATION_NOTIFIERS[@]}" "${NOTIFICATION_SETTINGS[@]}" backup postgresql \
246259
--output="${BACKUP_PATH:?}/${filename}" \
247260
--gzip \
248261
"--host=${PGHOST:?}" \

backwork/requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ backwork-backup-postgresql==0.2.1
88
backwork-notifier-sentry==0.2.0
99
backwork-upload-softlayer==0.2.1
1010
backwork-upload-cos==0.3.0
11+
backwork-notifier-http==0.1.2

docker-compose.yaml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ services:
77
backwork:
88
build:
99
context: ./backwork
10-
image: bigdatauniversity/backwork:1.5.0
10+
image: us.icr.io/snportals/backwork:1.6.0-dev.1
1111
environment:
1212
- MYSQL_HOST=mysql
1313
- MYSQL_PORT=3306
@@ -46,10 +46,13 @@ services:
4646
# config for HTTP request notifier
4747
- HTTP_NOTIFIER_URL
4848
- HTTP_NOTIFIER_METHOD
49-
- HTTP_NOTIFIER_HEADERS
49+
- HTTP_NOTIFIER_ADD_HEADERS
50+
- HTTP_NOTIFIER_BEARER_TOKEN
51+
- HTTP_NOTIFIER_BASIC_AUTH_USER
52+
- HTTP_NOTIFIER_BASIC_AUTH_PASS
5053
- HTTP_NOTIFIER_PARAMS
5154
- HTTP_NOTIFIER_DATA
52-
- HTTP_NOTIFIER_KEY_FOR_ERROR_MESSAGE
55+
- HTTP_NOTIFIER_KEY
5356

5457
links:
5558
- mysql

0 commit comments

Comments
 (0)