Exposes raw, global, and computed report flags for every openresty per-app property and allows those properties to be set with `--global`, so external tooling can distinguish a property that was never set from one left at its built-in default. The computed value resolves the per-app value first, then the global value, then the default. Also corrects `client-header-timeout` which read the `client-body-timeout` key and sets the computed `client-max-body-size` default to `1m`.
805 lines
23 KiB
Bash
Executable File
805 lines
23 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
|
|
source "$PLUGIN_CORE_AVAILABLE_PATH/common/property-functions"
|
|
set -eo pipefail
|
|
[[ $DOKKU_TRACE ]] && set -x
|
|
|
|
fn-get-pagesize() {
|
|
declare desc="return the underlying system's memory page size"
|
|
declare todo="port to common functions"
|
|
|
|
"$PLUGIN_CORE_AVAILABLE_PATH/nginx-vhosts/pagesize"
|
|
}
|
|
|
|
fn-openresty-access-log-format() {
|
|
declare desc="get the raw per-app access log format"
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get "openresty" "$APP" "access-log-format" ""
|
|
}
|
|
|
|
fn-openresty-global-access-log-format() {
|
|
declare desc="get the raw global access log format"
|
|
|
|
fn-plugin-property-get "openresty" "--global" "access-log-format" ""
|
|
}
|
|
|
|
fn-openresty-computed-access-log-format() {
|
|
declare desc="get the effective access log format"
|
|
declare APP="$1"
|
|
local value="$(fn-openresty-access-log-format "$APP")"
|
|
|
|
if [[ -z "$value" ]]; then
|
|
value="$(fn-plugin-property-get "openresty" "--global" "access-log-format" "")"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-access-log-path() {
|
|
declare desc="get the raw per-app access log path"
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get "openresty" "$APP" "access-log-path" ""
|
|
}
|
|
|
|
fn-openresty-global-access-log-path() {
|
|
declare desc="get the raw global access log path"
|
|
|
|
fn-plugin-property-get "openresty" "--global" "access-log-path" ""
|
|
}
|
|
|
|
fn-openresty-computed-access-log-path() {
|
|
declare desc="get the effective access log path"
|
|
declare APP="$1"
|
|
local OPENRESTY_LOG_ROOT="$(fn-openresty-log-root)"
|
|
local value="$(fn-openresty-access-log-path "$APP")"
|
|
|
|
if [[ -z "$value" ]]; then
|
|
value="$(fn-plugin-property-get "openresty" "--global" "access-log-path" "${OPENRESTY_LOG_ROOT}/${APP}-access.log")"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-global-allowed-letsencrypt-domains-func-base64() {
|
|
declare desc="get the raw configured allowed domains func base64"
|
|
|
|
fn-plugin-property-get-default "openresty" "--global" "allowed-letsencrypt-domains-func-base64" ""
|
|
}
|
|
|
|
fn-openresty-computed-allowed-letsencrypt-domains-func-base64() {
|
|
declare desc="get the effective allowed domains func base64, falling back to the default stub"
|
|
|
|
fn-plugin-property-get-default "openresty" "--global" "allowed-letsencrypt-domains-func-base64" "return true" | base64 -w 0
|
|
}
|
|
|
|
fn-openresty-bind-address-ipv4() {
|
|
declare desc="get the raw per-app ipv4 bind address"
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get "openresty" "$APP" "bind-address-ipv4" ""
|
|
}
|
|
|
|
fn-openresty-global-bind-address-ipv4() {
|
|
declare desc="get the raw global ipv4 bind address"
|
|
|
|
fn-plugin-property-get "openresty" "--global" "bind-address-ipv4" ""
|
|
}
|
|
|
|
fn-openresty-computed-bind-address-ipv4() {
|
|
declare desc="get the effective ipv4 bind address"
|
|
declare APP="$1"
|
|
local value="$(fn-openresty-bind-address-ipv4 "$APP")"
|
|
|
|
if [[ -z "$value" ]]; then
|
|
value="$(fn-plugin-property-get "openresty" "--global" "bind-address-ipv4" "")"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-bind-address-ipv6() {
|
|
declare desc="get the raw per-app ipv6 bind address"
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get "openresty" "$APP" "bind-address-ipv6" ""
|
|
}
|
|
|
|
fn-openresty-global-bind-address-ipv6() {
|
|
declare desc="get the raw global ipv6 bind address"
|
|
|
|
fn-plugin-property-get "openresty" "--global" "bind-address-ipv6" ""
|
|
}
|
|
|
|
fn-openresty-computed-bind-address-ipv6() {
|
|
declare desc="get the effective ipv6 bind address"
|
|
declare APP="$1"
|
|
local value="$(fn-openresty-bind-address-ipv6 "$APP")"
|
|
|
|
if [[ -z "$value" ]]; then
|
|
value="$(fn-plugin-property-get "openresty" "--global" "bind-address-ipv6" "::")"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-client-body-timeout() {
|
|
declare desc="get the raw per-app client body timeout"
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get "openresty" "$APP" "client-body-timeout" ""
|
|
}
|
|
|
|
fn-openresty-global-client-body-timeout() {
|
|
declare desc="get the raw global client body timeout"
|
|
|
|
fn-plugin-property-get "openresty" "--global" "client-body-timeout" ""
|
|
}
|
|
|
|
fn-openresty-computed-client-body-timeout() {
|
|
declare desc="get the effective client body timeout"
|
|
declare APP="$1"
|
|
local value="$(fn-openresty-client-body-timeout "$APP")"
|
|
|
|
if [[ -z "$value" ]]; then
|
|
value="$(fn-plugin-property-get "openresty" "--global" "client-body-timeout" "60s")"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-client-header-timeout() {
|
|
declare desc="get the raw per-app client header timeout"
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get "openresty" "$APP" "client-header-timeout" ""
|
|
}
|
|
|
|
fn-openresty-global-client-header-timeout() {
|
|
declare desc="get the raw global client header timeout"
|
|
|
|
fn-plugin-property-get "openresty" "--global" "client-header-timeout" ""
|
|
}
|
|
|
|
fn-openresty-computed-client-header-timeout() {
|
|
declare desc="get the effective client header timeout"
|
|
declare APP="$1"
|
|
local value="$(fn-openresty-client-header-timeout "$APP")"
|
|
|
|
if [[ -z "$value" ]]; then
|
|
value="$(fn-plugin-property-get "openresty" "--global" "client-header-timeout" "60s")"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-client-max-body-size() {
|
|
declare desc="get the raw per-app client max body size"
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get "openresty" "$APP" "client-max-body-size" ""
|
|
}
|
|
|
|
fn-openresty-global-client-max-body-size() {
|
|
declare desc="get the raw global client max body size"
|
|
|
|
fn-plugin-property-get "openresty" "--global" "client-max-body-size" ""
|
|
}
|
|
|
|
fn-openresty-computed-client-max-body-size() {
|
|
declare desc="get the effective client max body size"
|
|
declare APP="$1"
|
|
local value="$(fn-openresty-client-max-body-size "$APP")"
|
|
|
|
if [[ -z "$value" ]]; then
|
|
value="$(fn-plugin-property-get "openresty" "--global" "client-max-body-size" "1m")"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-error-log-path() {
|
|
declare desc="get the raw per-app error log path"
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get "openresty" "$APP" "error-log-path" ""
|
|
}
|
|
|
|
fn-openresty-global-error-log-path() {
|
|
declare desc="get the raw global error log path"
|
|
|
|
fn-plugin-property-get "openresty" "--global" "error-log-path" ""
|
|
}
|
|
|
|
fn-openresty-computed-error-log-path() {
|
|
declare desc="get the effective error log path"
|
|
declare APP="$1"
|
|
local OPENRESTY_LOG_ROOT="$(fn-openresty-log-root)"
|
|
local value="$(fn-openresty-error-log-path "$APP")"
|
|
|
|
if [[ -z "$value" ]]; then
|
|
value="$(fn-plugin-property-get "openresty" "--global" "error-log-path" "${OPENRESTY_LOG_ROOT}/${APP}-error.log")"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-get-http-includes-dir() {
|
|
declare desc="get any include dir if available"
|
|
declare APP="$1"
|
|
|
|
if [[ -d "${DOKKU_LIB_ROOT}/data/openresty-vhosts/app-$APP/openresty-http-includes.$DOKKU_PID.missing" ]]; then
|
|
return
|
|
fi
|
|
|
|
if [[ -d "${DOKKU_LIB_ROOT}/data/openresty-vhosts/app-$APP/openresty-http-includes.$DOKKU_PID" ]]; then
|
|
echo "${DOKKU_LIB_ROOT}/data/openresty-vhosts/app-$APP/openresty-http-includes.$DOKKU_PID"
|
|
elif [[ -d "${DOKKU_LIB_ROOT}/data/openresty-vhosts/app-$APP/openresty-http-includes" ]]; then
|
|
echo "${DOKKU_LIB_ROOT}/data/openresty-vhosts/app-$APP/openresty-http-includes"
|
|
fi
|
|
}
|
|
|
|
fn-openresty-get-location-includes-dir() {
|
|
declare desc="get any include dir if available"
|
|
declare APP="$1"
|
|
|
|
if [[ -d "${DOKKU_LIB_ROOT}/data/openresty-vhosts/app-$APP/openresty-location-includes.$DOKKU_PID.missing" ]]; then
|
|
return
|
|
fi
|
|
|
|
if [[ -d "${DOKKU_LIB_ROOT}/data/openresty-vhosts/app-$APP/openresty-location-includes.$DOKKU_PID" ]]; then
|
|
echo "${DOKKU_LIB_ROOT}/data/openresty-vhosts/app-$APP/openresty-location-includes.$DOKKU_PID"
|
|
elif [[ -d "${DOKKU_LIB_ROOT}/data/openresty-vhosts/app-$APP/openresty-location-includes" ]]; then
|
|
echo "${DOKKU_LIB_ROOT}/data/openresty-vhosts/app-$APP/openresty-location-includes"
|
|
fi
|
|
}
|
|
|
|
fn-openresty-hsts-include-subdomains() {
|
|
declare desc="get the raw per-app hsts include subdomains value"
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get "openresty" "$APP" "hsts-include-subdomains" ""
|
|
}
|
|
|
|
fn-openresty-global-hsts-include-subdomains() {
|
|
declare desc="get the raw global hsts include subdomains value"
|
|
|
|
fn-plugin-property-get "openresty" "--global" "hsts-include-subdomains" ""
|
|
}
|
|
|
|
fn-openresty-computed-hsts-include-subdomains() {
|
|
declare desc="get the effective hsts include subdomains value"
|
|
declare APP="$1"
|
|
local value="$(fn-openresty-hsts-include-subdomains "$APP")"
|
|
|
|
if [[ -z "$value" ]]; then
|
|
value="$(fn-plugin-property-get "openresty" "--global" "hsts-include-subdomains" "true")"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-hsts-max-age() {
|
|
declare desc="get the raw per-app hsts max age"
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get "openresty" "$APP" "hsts-max-age" ""
|
|
}
|
|
|
|
fn-openresty-global-hsts-max-age() {
|
|
declare desc="get the raw global hsts max age"
|
|
|
|
fn-plugin-property-get "openresty" "--global" "hsts-max-age" ""
|
|
}
|
|
|
|
fn-openresty-computed-hsts-max-age() {
|
|
declare desc="get the effective hsts max age"
|
|
declare APP="$1"
|
|
local value="$(fn-openresty-hsts-max-age "$APP")"
|
|
|
|
if [[ -z "$value" ]]; then
|
|
value="$(fn-plugin-property-get "openresty" "--global" "hsts-max-age" "15724800")"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-hsts-preload() {
|
|
declare desc="get the raw per-app hsts preload value"
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get "openresty" "$APP" "hsts-preload" ""
|
|
}
|
|
|
|
fn-openresty-global-hsts-preload() {
|
|
declare desc="get the raw global hsts preload value"
|
|
|
|
fn-plugin-property-get "openresty" "--global" "hsts-preload" ""
|
|
}
|
|
|
|
fn-openresty-computed-hsts-preload() {
|
|
declare desc="get the effective hsts preload value"
|
|
declare APP="$1"
|
|
local value="$(fn-openresty-hsts-preload "$APP")"
|
|
|
|
if [[ -z "$value" ]]; then
|
|
value="$(fn-plugin-property-get "openresty" "--global" "hsts-preload" "false")"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-hsts-is-enabled() {
|
|
declare APP="$1"
|
|
local hsts_is_enabled="$(fn-plugin-property-get-default "openresty" "$APP" "hsts" "")"
|
|
|
|
if [[ "$hsts_is_enabled" == "" ]]; then
|
|
hsts_is_enabled="$(fn-plugin-property-get-default "openresty" "--global" "hsts" "true")"
|
|
fi
|
|
|
|
echo "$hsts_is_enabled"
|
|
}
|
|
|
|
fn-openresty-global-image() {
|
|
declare desc="get the raw configured image"
|
|
|
|
fn-plugin-property-get-default "openresty" "--global" "image" ""
|
|
}
|
|
|
|
fn-openresty-computed-image() {
|
|
declare desc="get the effective image, falling back to the Dockerfile FROM line"
|
|
local value
|
|
|
|
value="$(fn-openresty-global-image)"
|
|
if [[ -z "$value" ]]; then
|
|
value="$(grep "FROM" "$PLUGIN_AVAILABLE_PATH/openresty-vhosts/Dockerfile" | awk '{print $2}')"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-keepalive-timeout() {
|
|
declare desc="get the raw per-app keepalive timeout"
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get "openresty" "$APP" "keepalive-timeout" ""
|
|
}
|
|
|
|
fn-openresty-global-keepalive-timeout() {
|
|
declare desc="get the raw global keepalive timeout"
|
|
|
|
fn-plugin-property-get "openresty" "--global" "keepalive-timeout" ""
|
|
}
|
|
|
|
fn-openresty-computed-keepalive-timeout() {
|
|
declare desc="get the effective keepalive timeout"
|
|
declare APP="$1"
|
|
local value="$(fn-openresty-keepalive-timeout "$APP")"
|
|
|
|
if [[ -z "$value" ]]; then
|
|
value="$(fn-plugin-property-get "openresty" "--global" "keepalive-timeout" "75s")"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-global-letsencrypt-email() {
|
|
declare desc="get the raw configured letsencrypt email"
|
|
|
|
fn-plugin-property-get-default "openresty" "--global" "letsencrypt-email" ""
|
|
}
|
|
|
|
fn-openresty-computed-letsencrypt-email() {
|
|
declare desc="get the effective letsencrypt email"
|
|
|
|
fn-openresty-global-letsencrypt-email
|
|
}
|
|
|
|
fn-openresty-global-letsencrypt-server() {
|
|
declare desc="get the raw configured letsencrypt server"
|
|
|
|
fn-plugin-property-get-default "openresty" "--global" "letsencrypt-server" ""
|
|
}
|
|
|
|
fn-openresty-computed-letsencrypt-server() {
|
|
declare desc="get the effective letsencrypt server, falling back to the production directory"
|
|
local value
|
|
|
|
value="$(fn-openresty-global-letsencrypt-server)"
|
|
if [[ -z "$value" ]]; then
|
|
value="https://acme-v02.api.letsencrypt.org/directory"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-global-log-level() {
|
|
declare desc="get the raw configured log level"
|
|
|
|
fn-plugin-property-get-default "openresty" "--global" "log-level" ""
|
|
}
|
|
|
|
fn-openresty-computed-log-level() {
|
|
declare desc="get the effective log level, falling back to ERROR"
|
|
local value
|
|
|
|
value="$(fn-openresty-global-log-level)"
|
|
if [[ -z "$value" ]]; then
|
|
value="ERROR"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-log-root() {
|
|
declare desc="get the openresty log root"
|
|
local OPENRESTY_LOG_ROOT="/var/log/nginx"
|
|
echo "$OPENRESTY_LOG_ROOT"
|
|
}
|
|
|
|
fn-openresty-logs() {
|
|
declare desc="shows the logs for the openresty container"
|
|
declare TAIL="$1" NUM="$2"
|
|
local dokku_logs_args=("--tail" "$NUM")
|
|
|
|
if [[ "$TAIL" == "true" ]]; then
|
|
dokku_logs_args+=("--follow")
|
|
fi
|
|
|
|
"$DOCKER_BIN" logs openresty-openresty-1 "${dokku_logs_args[@]}"
|
|
}
|
|
|
|
fn-openresty-logs-usage() {
|
|
declare desc="logs specific usage"
|
|
echo "Usage: dokku openresty:logs"
|
|
echo " display recent openresty log output"
|
|
echo ""
|
|
echo " -n, --num NUM # the number of lines to display"
|
|
echo " -t, --tail # continually stream logs"
|
|
}
|
|
|
|
fn-openresty-lingering-timeout() {
|
|
declare desc="get the raw per-app lingering timeout"
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get "openresty" "$APP" "lingering-timeout" ""
|
|
}
|
|
|
|
fn-openresty-global-lingering-timeout() {
|
|
declare desc="get the raw global lingering timeout"
|
|
|
|
fn-plugin-property-get "openresty" "--global" "lingering-timeout" ""
|
|
}
|
|
|
|
fn-openresty-computed-lingering-timeout() {
|
|
declare desc="get the effective lingering timeout"
|
|
declare APP="$1"
|
|
local value="$(fn-openresty-lingering-timeout "$APP")"
|
|
|
|
if [[ -z "$value" ]]; then
|
|
value="$(fn-plugin-property-get "openresty" "--global" "lingering-timeout" "5s")"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-proxy-buffer-size() {
|
|
declare desc="get the raw per-app proxy buffer size"
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get "openresty" "$APP" "proxy-buffer-size" ""
|
|
}
|
|
|
|
fn-openresty-global-proxy-buffer-size() {
|
|
declare desc="get the raw global proxy buffer size"
|
|
|
|
fn-plugin-property-get "openresty" "--global" "proxy-buffer-size" ""
|
|
}
|
|
|
|
fn-openresty-computed-proxy-buffer-size() {
|
|
declare desc="get the effective proxy buffer size"
|
|
declare APP="$1"
|
|
local value="$(fn-openresty-proxy-buffer-size "$APP")"
|
|
|
|
if [[ -z "$value" ]]; then
|
|
value="$(fn-plugin-property-get "openresty" "--global" "proxy-buffer-size" "$(fn-get-pagesize)k")"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-proxy-buffering() {
|
|
declare desc="get the raw per-app proxy buffering"
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get "openresty" "$APP" "proxy-buffering" ""
|
|
}
|
|
|
|
fn-openresty-global-proxy-buffering() {
|
|
declare desc="get the raw global proxy buffering"
|
|
|
|
fn-plugin-property-get "openresty" "--global" "proxy-buffering" ""
|
|
}
|
|
|
|
fn-openresty-computed-proxy-buffering() {
|
|
declare desc="get the effective proxy buffering"
|
|
declare APP="$1"
|
|
local value="$(fn-openresty-proxy-buffering "$APP")"
|
|
|
|
if [[ -z "$value" ]]; then
|
|
value="$(fn-plugin-property-get "openresty" "--global" "proxy-buffering" "on")"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-proxy-buffers() {
|
|
declare desc="get the raw per-app proxy buffers"
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get "openresty" "$APP" "proxy-buffers" ""
|
|
}
|
|
|
|
fn-openresty-global-proxy-buffers() {
|
|
declare desc="get the raw global proxy buffers"
|
|
|
|
fn-plugin-property-get "openresty" "--global" "proxy-buffers" ""
|
|
}
|
|
|
|
fn-openresty-computed-proxy-buffers() {
|
|
declare desc="get the effective proxy buffers"
|
|
declare APP="$1"
|
|
local value="$(fn-openresty-proxy-buffers "$APP")"
|
|
|
|
if [[ -z "$value" ]]; then
|
|
value="$(fn-plugin-property-get "openresty" "--global" "proxy-buffers" "8 $(fn-get-pagesize)k")"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-proxy-busy-buffers-size() {
|
|
declare desc="get the raw per-app proxy busy buffers size"
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get "openresty" "$APP" "proxy-busy-buffers-size" ""
|
|
}
|
|
|
|
fn-openresty-global-proxy-busy-buffers-size() {
|
|
declare desc="get the raw global proxy busy buffers size"
|
|
|
|
fn-plugin-property-get "openresty" "--global" "proxy-busy-buffers-size" ""
|
|
}
|
|
|
|
fn-openresty-computed-proxy-busy-buffers-size() {
|
|
declare desc="get the effective proxy busy buffers size"
|
|
declare APP="$1"
|
|
local value="$(fn-openresty-proxy-busy-buffers-size "$APP")"
|
|
|
|
if [[ -z "$value" ]]; then
|
|
value="$(fn-plugin-property-get "openresty" "--global" "proxy-busy-buffers-size" "$(($(fn-get-pagesize) * 2))k")"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-proxy-connect-timeout() {
|
|
declare desc="get the raw per-app proxy connect timeout"
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get "openresty" "$APP" "proxy-connect-timeout" ""
|
|
}
|
|
|
|
fn-openresty-global-proxy-connect-timeout() {
|
|
declare desc="get the raw global proxy connect timeout"
|
|
|
|
fn-plugin-property-get "openresty" "--global" "proxy-connect-timeout" ""
|
|
}
|
|
|
|
fn-openresty-computed-proxy-connect-timeout() {
|
|
declare desc="get the effective proxy connect timeout"
|
|
declare APP="$1"
|
|
local value="$(fn-openresty-proxy-connect-timeout "$APP")"
|
|
|
|
if [[ -z "$value" ]]; then
|
|
value="$(fn-plugin-property-get "openresty" "--global" "proxy-connect-timeout" "60s")"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-proxy-read-timeout() {
|
|
declare desc="get the raw per-app proxy read timeout"
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get "openresty" "$APP" "proxy-read-timeout" ""
|
|
}
|
|
|
|
fn-openresty-global-proxy-read-timeout() {
|
|
declare desc="get the raw global proxy read timeout"
|
|
|
|
fn-plugin-property-get "openresty" "--global" "proxy-read-timeout" ""
|
|
}
|
|
|
|
fn-openresty-computed-proxy-read-timeout() {
|
|
declare desc="get the effective proxy read timeout"
|
|
declare APP="$1"
|
|
local value="$(fn-openresty-proxy-read-timeout "$APP")"
|
|
|
|
if [[ -z "$value" ]]; then
|
|
value="$(fn-plugin-property-get "openresty" "--global" "proxy-read-timeout" "60s")"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-proxy-send-timeout() {
|
|
declare desc="get the raw per-app proxy send timeout"
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get "openresty" "$APP" "proxy-send-timeout" ""
|
|
}
|
|
|
|
fn-openresty-global-proxy-send-timeout() {
|
|
declare desc="get the raw global proxy send timeout"
|
|
|
|
fn-plugin-property-get "openresty" "--global" "proxy-send-timeout" ""
|
|
}
|
|
|
|
fn-openresty-computed-proxy-send-timeout() {
|
|
declare desc="get the effective proxy send timeout"
|
|
declare APP="$1"
|
|
local value="$(fn-openresty-proxy-send-timeout "$APP")"
|
|
|
|
if [[ -z "$value" ]]; then
|
|
value="$(fn-plugin-property-get "openresty" "--global" "proxy-send-timeout" "60s")"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-send-timeout() {
|
|
declare desc="get the raw per-app send timeout"
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get "openresty" "$APP" "send-timeout" ""
|
|
}
|
|
|
|
fn-openresty-global-send-timeout() {
|
|
declare desc="get the raw global send timeout"
|
|
|
|
fn-plugin-property-get "openresty" "--global" "send-timeout" ""
|
|
}
|
|
|
|
fn-openresty-computed-send-timeout() {
|
|
declare desc="get the effective send timeout"
|
|
declare APP="$1"
|
|
local value="$(fn-openresty-send-timeout "$APP")"
|
|
|
|
if [[ -z "$value" ]]; then
|
|
value="$(fn-plugin-property-get "openresty" "--global" "send-timeout" "60s")"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-template-compose-file() {
|
|
declare desc="templates out the compose file"
|
|
declare OUTPUT_PATH="$1"
|
|
local COMPOSE_TEMPLATE="$PLUGIN_AVAILABLE_PATH/openresty-vhosts/templates/compose.yml.sigil"
|
|
|
|
CUSTOM_COMPOSE_TEMPLATE="$(plugn trigger openresty-template-source "$APP")"
|
|
if [[ -n "$CUSTOM_COMPOSE_TEMPLATE" ]]; then
|
|
COMPOSE_TEMPLATE="$CUSTOM_COMPOSE_TEMPLATE"
|
|
fi
|
|
|
|
local SIGIL_PARAMS=(OPENRESTY_DATA_DIR="${DOKKU_LIB_ROOT}/data/openresty-vhosts/.docker-letsencrypt"
|
|
OPENRESTY_IMAGE="$(fn-openresty-computed-image)"
|
|
OPENRESTY_LETSENCRYPT_EMAIL="$(fn-openresty-computed-letsencrypt-email)"
|
|
OPENRESTY_LETSENCRYPT_SERVER="$(fn-openresty-computed-letsencrypt-server)")
|
|
|
|
local ALLOWED_DOMAINS_FUNC_BASE64="$(fn-openresty-computed-allowed-letsencrypt-domains-func-base64)"
|
|
if [[ -n "$ALLOWED_DOMAINS_FUNC_BASE64" ]]; then
|
|
SIGIL_PARAMS+=(ALLOWED_DOMAINS_FUNC_BASE64="$ALLOWED_DOMAINS_FUNC_BASE64")
|
|
fi
|
|
|
|
sigil -f "$COMPOSE_TEMPLATE" "${SIGIL_PARAMS[@]}" | cat -s >"$OUTPUT_PATH"
|
|
}
|
|
|
|
fn-openresty-underscore-in-headers() {
|
|
declare desc="get the raw per-app underscore in headers value"
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get "openresty" "$APP" "underscore-in-headers" ""
|
|
}
|
|
|
|
fn-openresty-global-underscore-in-headers() {
|
|
declare desc="get the raw global underscore in headers value"
|
|
|
|
fn-plugin-property-get "openresty" "--global" "underscore-in-headers" ""
|
|
}
|
|
|
|
fn-openresty-computed-underscore-in-headers() {
|
|
declare desc="get the effective underscore in headers value"
|
|
declare APP="$1"
|
|
local value="$(fn-openresty-underscore-in-headers "$APP")"
|
|
|
|
if [[ -z "$value" ]]; then
|
|
value="$(fn-plugin-property-get "openresty" "--global" "underscore-in-headers" "off")"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-x-forwarded-for-value() {
|
|
declare desc="get the raw per-app x-forwarded-for value"
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get "openresty" "$APP" "x-forwarded-for-value" ""
|
|
}
|
|
|
|
fn-openresty-global-x-forwarded-for-value() {
|
|
declare desc="get the raw global x-forwarded-for value"
|
|
|
|
fn-plugin-property-get "openresty" "--global" "x-forwarded-for-value" ""
|
|
}
|
|
|
|
fn-openresty-computed-x-forwarded-for-value() {
|
|
declare desc="get the effective x-forwarded-for value"
|
|
declare APP="$1"
|
|
local value="$(fn-openresty-x-forwarded-for-value "$APP")"
|
|
|
|
if [[ -z "$value" ]]; then
|
|
value="$(fn-plugin-property-get "openresty" "--global" "x-forwarded-for-value" "\$remote_addr")"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-x-forwarded-port-value() {
|
|
declare desc="get the raw per-app x-forwarded-port value"
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get "openresty" "$APP" "x-forwarded-port-value" ""
|
|
}
|
|
|
|
fn-openresty-global-x-forwarded-port-value() {
|
|
declare desc="get the raw global x-forwarded-port value"
|
|
|
|
fn-plugin-property-get "openresty" "--global" "x-forwarded-port-value" ""
|
|
}
|
|
|
|
fn-openresty-computed-x-forwarded-port-value() {
|
|
declare desc="get the effective x-forwarded-port value"
|
|
declare APP="$1"
|
|
local value="$(fn-openresty-x-forwarded-port-value "$APP")"
|
|
|
|
if [[ -z "$value" ]]; then
|
|
value="$(fn-plugin-property-get "openresty" "--global" "x-forwarded-port-value" "\$server_port")"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-x-forwarded-proto-value() {
|
|
declare desc="get the raw per-app x-forwarded-proto value"
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get "openresty" "$APP" "x-forwarded-proto-value" ""
|
|
}
|
|
|
|
fn-openresty-global-x-forwarded-proto-value() {
|
|
declare desc="get the raw global x-forwarded-proto value"
|
|
|
|
fn-plugin-property-get "openresty" "--global" "x-forwarded-proto-value" ""
|
|
}
|
|
|
|
fn-openresty-computed-x-forwarded-proto-value() {
|
|
declare desc="get the effective x-forwarded-proto value"
|
|
declare APP="$1"
|
|
local value="$(fn-openresty-x-forwarded-proto-value "$APP")"
|
|
|
|
if [[ -z "$value" ]]; then
|
|
value="$(fn-plugin-property-get "openresty" "--global" "x-forwarded-proto-value" "\$scheme")"
|
|
fi
|
|
echo "$value"
|
|
}
|
|
|
|
fn-openresty-x-forwarded-ssl() {
|
|
declare desc="get the raw per-app x-forwarded-ssl value"
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get "openresty" "$APP" "x-forwarded-ssl" ""
|
|
}
|
|
|
|
fn-openresty-global-x-forwarded-ssl() {
|
|
declare desc="get the raw global x-forwarded-ssl value"
|
|
|
|
fn-plugin-property-get "openresty" "--global" "x-forwarded-ssl" ""
|
|
}
|
|
|
|
fn-openresty-computed-x-forwarded-ssl() {
|
|
declare desc="get the effective x-forwarded-ssl value"
|
|
declare APP="$1"
|
|
local value="$(fn-openresty-x-forwarded-ssl "$APP")"
|
|
|
|
if [[ -z "$value" ]]; then
|
|
value="$(fn-plugin-property-get "openresty" "--global" "x-forwarded-ssl" "")"
|
|
fi
|
|
echo "$value"
|
|
}
|