|
1 | 1 | #!/bin/sh |
2 | 2 |
|
3 | | -if [ "${SHUTTER_PUSH_METRICS_ENABLED}" = "false" ]; then |
4 | | - echo "[INFO | metrics] Metrics push is disabled" |
5 | | - exit 0 |
6 | | -fi |
| 3 | +update_user_settings() { |
| 4 | + key=$1 |
| 5 | + value=$(eval echo \$$key) |
| 6 | + |
| 7 | + if [ ! -f "$USER_SETTINGS_FILE" ]; then |
| 8 | + touch "$USER_SETTINGS_FILE" |
| 9 | + fi |
| 10 | + |
| 11 | + if [ -z "$value" ]; then |
| 12 | + echo "[INFO | metrics] Skipped updating $key in user settings file (empty value)" |
| 13 | + return 1 |
| 14 | + fi |
| 15 | + |
| 16 | + if grep -q "^$key=" "$USER_SETTINGS_FILE"; then |
| 17 | + # Update the existing key |
| 18 | + sed -i "s/^$key=.*/$key=$value/" "$USER_SETTINGS_FILE" |
| 19 | + echo "[INFO | metrics] Updated $key to $value in $USER_SETTINGS_FILE" |
| 20 | + else |
| 21 | + # Add the new key |
| 22 | + echo "$key=$value" >>"$USER_SETTINGS_FILE" |
| 23 | + echo "[INFO | metrics] Added $key=$value to $USER_SETTINGS_FILE" |
| 24 | + fi |
| 25 | +} |
| 26 | + |
| 27 | +source_envs() { |
| 28 | + set -a |
7 | 29 |
|
8 | | -set -eu |
| 30 | + # shellcheck disable=SC1091 |
| 31 | + if [ -f "${ASSETS_DIR}/variables.env" ]; then |
| 32 | + . "${ASSETS_DIR}/variables.env" |
9 | 33 |
|
10 | | -set -a |
| 34 | + else |
| 35 | + echo "[ERROR | configure] Missing variables file (${ASSETS_DIR}/variables.env)" |
| 36 | + exit 1 |
| 37 | + fi |
11 | 38 |
|
12 | | -# shellcheck disable=SC1091 |
13 | | -if [ -f "${ASSETS_DIR}/variables.env" ]; then |
14 | | - . "${ASSETS_DIR}/variables.env" |
15 | | -else |
16 | | - echo "[ERROR | configure] Missing variables file (${ASSETS_DIR}/variables.env)" |
17 | | - exit 1 |
| 39 | + if [ -z "${_ASSETS_VERSION:-}" ]; then |
| 40 | + _ASSETS_VERSION="$(cat /assets/version)" |
| 41 | + fi |
| 42 | + |
| 43 | + # shellcheck disable=SC1090 |
| 44 | + . "$USER_SETTINGS_FILE" |
| 45 | + |
| 46 | + set +a |
| 47 | +} |
| 48 | + |
| 49 | +# Create an empty JSON file in path USER_SETTINGS_FILE if it does not exist |
| 50 | +if [ ! -f "${USER_SETTINGS_FILE}" ]; then |
| 51 | + echo "{}" >"${USER_SETTINGS_FILE}" |
18 | 52 | fi |
19 | 53 |
|
20 | | -set +a |
| 54 | +update_user_settings "PUSHGATEWAY_URL" "${PUSHGATEWAY_URL}" |
| 55 | +update_user_settings "PUSHGATEWAY_USERNAME" "${PUSHGATEWAY_USERNAME}" |
| 56 | +update_user_settings "PUSHGATEWAY_PASSWORD" "${PUSHGATEWAY_PASSWORD}" |
21 | 57 |
|
22 | | -# TODO: Update script with upstream version |
23 | | -if [ -z "${_ASSETS_VERSION:-}" ]; then |
24 | | - _ASSETS_VERSION="$(cat /assets/version)" |
25 | | - export _ASSETS_VERSION |
| 58 | +if [ "${SHUTTER_PUSH_METRICS_ENABLED}" = "false" ]; then |
| 59 | + echo "[INFO | metrics] Metrics push is disabled" |
| 60 | + exit 0 |
26 | 61 | fi |
27 | 62 |
|
| 63 | +source_envs |
| 64 | + |
28 | 65 | exec /vmagent-prod \ |
29 | 66 | -promscrape.config="${CONFIG_FILE}" \ |
30 | 67 | -remoteWrite.url="${PUSHGATEWAY_URL}" \ |
|
0 commit comments