[__jitsi_meet_domain] Support the --state parameter
This enables removing domains in a simple fashion. Closes #3.
This commit is contained in:
parent
ac99cd8d84
commit
a1b3a034c7
4 changed files with 33 additions and 3 deletions
|
@ -60,6 +60,10 @@ start-video-muted
|
||||||
Defaults to 10.
|
Defaults to 10.
|
||||||
|
|
||||||
|
|
||||||
|
state
|
||||||
|
Whether the domain is 'present' or 'absent', defaults to 'present'.
|
||||||
|
|
||||||
|
|
||||||
turn-server
|
turn-server
|
||||||
The TURN server to be used.
|
The TURN server to be used.
|
||||||
Defaults to `__target_host`.
|
Defaults to `__target_host`.
|
||||||
|
|
|
@ -21,6 +21,7 @@ VIDEO_CONSTRAINTS="$(cat "${__object}/parameter/video-constraints")"
|
||||||
BRANDING_INDEX="$(cat "${__object}/parameter/branding-index")"
|
BRANDING_INDEX="$(cat "${__object}/parameter/branding-index")"
|
||||||
BRANDING_JSON="$(cat "${__object}/parameter/branding-json")"
|
BRANDING_JSON="$(cat "${__object}/parameter/branding-json")"
|
||||||
BRANDING_WATERMARK="$(cat "${__object}/parameter/branding-watermark")"
|
BRANDING_WATERMARK="$(cat "${__object}/parameter/branding-watermark")"
|
||||||
|
STATE="$(cat "${__object}/parameter/state")"
|
||||||
|
|
||||||
if [ "${BRANDING_INDEX}" = "-" ]; then
|
if [ "${BRANDING_INDEX}" = "-" ]; then
|
||||||
BRANDING_INDEX="${__object}/stdin"
|
BRANDING_INDEX="${__object}/stdin"
|
||||||
|
@ -47,11 +48,31 @@ if [ -n "${BRANDING_JSON}" ]; then
|
||||||
DYNAMIC_BRANDING_URL="/branding.json"
|
DYNAMIC_BRANDING_URL="/branding.json"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
case "${STATE}" in
|
||||||
|
present)
|
||||||
|
# When adding the domain, Let's Encrypt must come before nginx
|
||||||
|
le_require=""
|
||||||
|
nginx_require="__letsencrypt_cert/${DOMAIN}"
|
||||||
|
;;
|
||||||
|
absent)
|
||||||
|
# When removing, nginx must come before Let's Encrypt
|
||||||
|
le_require="__file/etc/nginx/sites-enabled/${DOMAIN}.conf"
|
||||||
|
nginx_require=""
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
cat >> /dev/stderr <<-EOM
|
||||||
|
Unsupported state '${STATE}', must be 'present' or 'absent'.
|
||||||
|
EOM
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
#
|
#
|
||||||
# Deal with certbot
|
# Deal with certbot
|
||||||
#
|
#
|
||||||
# use object id as domain
|
# use object id as domain
|
||||||
__letsencrypt_cert "${DOMAIN}" \
|
require="${le_require}" __letsencrypt_cert "${DOMAIN}" \
|
||||||
|
--state "${STATE}" \
|
||||||
--admin-email "${ADMIN_EMAIL}" \
|
--admin-email "${ADMIN_EMAIL}" \
|
||||||
--deploy-hook "service nginx reload" \
|
--deploy-hook "service nginx reload" \
|
||||||
--webroot /usr/share/jitsi-meet
|
--webroot /usr/share/jitsi-meet
|
||||||
|
@ -59,8 +80,9 @@ __letsencrypt_cert "${DOMAIN}" \
|
||||||
# Create virtualhost for nginx
|
# Create virtualhost for nginx
|
||||||
# shellcheck source=type/__jitsi_meet_domain/files/nginx.sh
|
# shellcheck source=type/__jitsi_meet_domain/files/nginx.sh
|
||||||
. "${__type}/files/nginx.sh" # This defines JITSI_NGINX_CONFIG
|
. "${__type}/files/nginx.sh" # This defines JITSI_NGINX_CONFIG
|
||||||
require="__letsencrypt_cert/${DOMAIN}" __file \
|
require="${nginx_require}" __file \
|
||||||
"/etc/nginx/sites-enabled/${DOMAIN}.conf" \
|
"/etc/nginx/sites-enabled/${DOMAIN}.conf" \
|
||||||
|
--state "${STATE}" \
|
||||||
--mode 0644 --source "-" <<EOF
|
--mode 0644 --source "-" <<EOF
|
||||||
${JITSI_NGINX_CONFIG}
|
${JITSI_NGINX_CONFIG}
|
||||||
EOF
|
EOF
|
||||||
|
@ -69,6 +91,7 @@ EOF
|
||||||
# shellcheck source=type/__jitsi_meet_domain/files/config.js.sh
|
# shellcheck source=type/__jitsi_meet_domain/files/config.js.sh
|
||||||
. "${__type}/files/config.js.sh" # This defines JITSI_CONFIG_JS
|
. "${__type}/files/config.js.sh" # This defines JITSI_CONFIG_JS
|
||||||
__file "/etc/jitsi/meet/${DOMAIN}-config.js" \
|
__file "/etc/jitsi/meet/${DOMAIN}-config.js" \
|
||||||
|
--state "${STATE}" \
|
||||||
--mode 0644 --source "-" <<EOF
|
--mode 0644 --source "-" <<EOF
|
||||||
${JITSI_CONFIG_JS}
|
${JITSI_CONFIG_JS}
|
||||||
EOF
|
EOF
|
||||||
|
@ -77,6 +100,7 @@ EOF
|
||||||
# shellcheck source=type/__jitsi_meet_domain/files/interface_config.js.sh
|
# shellcheck source=type/__jitsi_meet_domain/files/interface_config.js.sh
|
||||||
. "${__type}/files/interface_config.js.sh" # This defines JITSI_CONFIG_JS
|
. "${__type}/files/interface_config.js.sh" # This defines JITSI_CONFIG_JS
|
||||||
__file "/etc/jitsi/meet/${DOMAIN}-interface_config.js" \
|
__file "/etc/jitsi/meet/${DOMAIN}-interface_config.js" \
|
||||||
|
--state "${STATE}" \
|
||||||
--mode 0644 --source "-" <<EOF
|
--mode 0644 --source "-" <<EOF
|
||||||
${JITSI_INTERFACE_CONFIG_JS}
|
${JITSI_INTERFACE_CONFIG_JS}
|
||||||
EOF
|
EOF
|
||||||
|
@ -87,7 +111,7 @@ EOF
|
||||||
#
|
#
|
||||||
# Helper function to manage the state of the target branding file
|
# Helper function to manage the state of the target branding file
|
||||||
_var_state() {
|
_var_state() {
|
||||||
if [ -n "${1}" ]; then
|
if [ "${STATE}" = "present" ] && [ -n "${1}" ]; then
|
||||||
echo "present"
|
echo "present"
|
||||||
else
|
else
|
||||||
echo "absent"
|
echo "absent"
|
||||||
|
|
1
type/__jitsi_meet_domain/parameter/default/state
Normal file
1
type/__jitsi_meet_domain/parameter/default/state
Normal file
|
@ -0,0 +1 @@
|
||||||
|
present
|
|
@ -7,3 +7,4 @@ video-constraints
|
||||||
branding-json
|
branding-json
|
||||||
branding-index
|
branding-index
|
||||||
branding-watermark
|
branding-watermark
|
||||||
|
state
|
||||||
|
|
Loading…
Reference in a new issue