1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/jupyterlab_ynh.git synced 2024-09-03 19:26:35 +02:00

Format files

This commit is contained in:
Pierre Bourré 2019-01-26 15:04:44 +01:00
parent 03ba0348c2
commit 5ed1002562
7 changed files with 94 additions and 108 deletions

View file

@ -21,7 +21,7 @@
"nginx" "nginx"
], ],
"arguments": { "arguments": {
"install" : [ "install": [
{ {
"name": "domain", "name": "domain",
"type": "domain", "type": "domain",
@ -43,7 +43,7 @@
}, },
{ {
"name": "admin", "name": "admin",
"type": "user", "type": "user",
"ask": { "ask": {
"en": "Choose an admin user", "en": "Choose an admin user",
"fr": "Choisissez ladministrateur" "fr": "Choisissez ladministrateur"
@ -70,4 +70,4 @@
} }
] ]
} }
} }

View file

@ -74,7 +74,7 @@ config_jupyter_notebook() {
#================================================= #=================================================
# CREATE A DEDICATED SYSTEMD CONFIG # CREATE A DEDICATED SYSTEMD CONFIG
#================================================= #=================================================
add_systemd_config () { add_systemd_config() {
ynh_print_info "Adding Jupyterlab as a service..." ynh_print_info "Adding Jupyterlab as a service..."
sudo cp ../conf/systemd.service.default ../conf/systemd.service sudo cp ../conf/systemd.service.default ../conf/systemd.service
@ -139,41 +139,36 @@ setup_source() {
src_format=${src_format:-tar.gz} src_format=${src_format:-tar.gz}
src_format=$(echo "$src_format" | tr '[:upper:]' '[:lower:]') src_format=$(echo "$src_format" | tr '[:upper:]' '[:lower:]')
src_extract=${src_extract:-true} src_extract=${src_extract:-true}
if [ "$src_filename" = "" ] ; then if [ "$src_filename" = "" ]; then
src_filename="${src_id}.${src_format}" src_filename="${src_id}.${src_format}"
fi fi
if ! test -e "$final_path" if ! test -e "$final_path"; then
then
local local_src="/opt/yunohost-apps-src/${YNH_APP_ID}/${src_filename}" local local_src="/opt/yunohost-apps-src/${YNH_APP_ID}/${src_filename}"
ynh_print_info "Downloading anaconda files (used by JupyterLab)..." ynh_print_info "Downloading anaconda files (used by JupyterLab)..."
if test -e "$local_src"; then # Use the local source file if it is present
if test -e "$local_src"
then # Use the local source file if it is present
cp $local_src $src_filename cp $local_src $src_filename
else # If not, download the source else # If not, download the source
local out=`wget -nv -O $src_filename $src_url 2>&1` || ynh_print_err $out local out=$(wget -nv -O $src_filename $src_url 2>&1) || ynh_print_err $out
fi fi
# Check the control sum # Check the control sum
echo "${src_sum} ${src_filename}" | ${src_sumprg} -c --status \ echo "${src_sum} ${src_filename}" | ${src_sumprg} -c --status ||
|| ynh_die "Corrupt source" ynh_die "Corrupt source"
ynh_print_info "Installing anaconda (used by JupyterLab)..." ynh_print_info "Installing anaconda (used by JupyterLab)..."
bash $src_filename -b -p $final_path bash $src_filename -b -p $final_path
fi fi
export "PATH=$final_path/bin/:$PATH" export "PATH=$final_path/bin/:$PATH"
ynh_print_info "Installing JupyterLab..." ynh_print_info "Installing JupyterLab..."
if [ "$src_id" = "arm" ]; then
if [ "$src_id" = "arm" ]
then
conda install jupyterlab=$jupyterlab_version notebook nodejs -y conda install jupyterlab=$jupyterlab_version notebook nodejs -y
pip install jupyterhub jupyterhub-ldapauthenticator pip install jupyterhub jupyterhub-ldapauthenticator
else else
@ -181,4 +176,4 @@ setup_source() {
fi fi
npm install -g configurable-http-proxy npm install -g configurable-http-proxy
} }

View file

@ -54,14 +54,12 @@ path_url="$new_path"
#================================================= #=================================================
change_domain=0 change_domain=0
if [ "$old_domain" != "$new_domain" ] if [ "$old_domain" != "$new_domain" ]; then
then
change_domain=1 change_domain=1
fi fi
change_path=0 change_path=0
if [ "$old_path" != "$new_path" ] if [ "$old_path" != "$new_path" ]; then
then
change_path=1 change_path=1
fi fi
@ -78,10 +76,9 @@ yunohost service stop jupyterlab
#================================================= #=================================================
nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf
if [ $change_path -eq 1 ] if [ $change_path -eq 1 ]; then
then
ynh_print_info "Changing path..." ynh_print_info "Changing path..."
# Make a backup of the original nginx config file if modified # Make a backup of the original nginx config file if modified
ynh_backup_if_checksum_is_different "$nginx_conf_path" ynh_backup_if_checksum_is_different "$nginx_conf_path"
# Set global variables for nginx helper # Set global variables for nginx helper
@ -92,11 +89,10 @@ then
fi fi
# Change the domain for nginx # Change the domain for nginx
if [ $change_domain -eq 1 ] if [ $change_domain -eq 1 ]; then
then
ynh_print_info "Changing domain..." ynh_print_info "Changing domain..."
# Delete file checksum for the old conf file location # Delete file checksum for the old conf file location
ynh_delete_file_checksum "$nginx_conf_path" ynh_delete_file_checksum "$nginx_conf_path"
mv $nginx_conf_path /etc/nginx/conf.d/$new_domain.d/$app.conf mv $nginx_conf_path /etc/nginx/conf.d/$new_domain.d/$app.conf
# Store file checksum for the new config file location # Store file checksum for the new config file location

View file

@ -12,81 +12,80 @@
# | arg: -e, --length= - Length of the error log : Default : 20 # | arg: -e, --length= - Length of the error log : Default : 20
ynh_systemd_action() { ynh_systemd_action() {
# Declare an array to define the options of this helper. # Declare an array to define the options of this helper.
declare -Ar args_array=( [n]=service_name= [a]=action= [l]=line_match= [p]=log_path= [t]=timeout= [e]=length= ) declare -Ar args_array=([n]=service_name= [a]=action= [l]=line_match= [p]=log_path= [t]=timeout= [e]=length=)
local service_name local service_name
local action local action
local line_match local line_match
local length local length
local log_path local log_path
local timeout local timeout
# Manage arguments with getopts # Manage arguments with getopts
ynh_handle_getopts_args "$@" ynh_handle_getopts_args "$@"
local service_name="${service_name:-$app}" local service_name="${service_name:-$app}"
local action=${action:-start} local action=${action:-start}
local log_path="${log_path:-/var/log/$service_name/$service_name.log}" local log_path="${log_path:-/var/log/$service_name/$service_name.log}"
local length=${length:-20} local length=${length:-20}
local timeout=${timeout:-300} local timeout=${timeout:-300}
ynh_print_info "Waiting for a response from $service_name..." ynh_print_info "Waiting for a response from $service_name..."
# Start to read the log # Start to read the log
if [[ -n "${line_match:-}" ]] if [[ -n "${line_match:-}" ]]; then
then local templog="$(mktemp)"
local templog="$(mktemp)" # Following the starting of the app in its log
# Following the starting of the app in its log if [ "$log_path" == "systemd" ]; then
if [ "$log_path" == "systemd" ] ; then # Read the systemd journal
# Read the systemd journal journalctl -u $service_name -f -n0 >"$templog" &
journalctl -u $service_name -f -n0 > "$templog" & else
else # Read the specified log file
# Read the specified log file tail -F -n0 "$log_path" >"$templog" &
tail -F -n0 "$log_path" > "$templog" & fi
# Get the PID of the tail command
local pid_tail=$!
fi fi
# Get the PID of the tail command
local pid_tail=$!
fi
echo "${action^} the service $service_name" >&2 echo "${action^} the service $service_name" >&2
systemctl $action $service_name \ systemctl $action $service_name ||
|| ( journalctl --lines=$length -u $service_name >&2 \ (
; test -n "$log_path" && echo "--" && tail --lines=$length "$log_path" >&2 \ journalctl --lines=$length -u $service_name >&2 \
; false ) ;
test -n "$log_path" && echo "--" && tail --lines=$length "$log_path" >&2 \
;
false
)
# Start the timeout and try to find line_match # Start the timeout and try to find line_match
if [[ -n "${line_match:-}" ]] if [[ -n "${line_match:-}" ]]; then
then local i=0
local i=0 for i in $(seq 1 $timeout); do
for i in $(seq 1 $timeout) # Read the log until the sentence is found, that means the app finished to start. Or run until the timeout
do if grep --quiet "$line_match" "$templog"; then
# Read the log until the sentence is found, that means the app finished to start. Or run until the timeout echo "The service $service_name has correctly started." >&2
if grep --quiet "$line_match" "$templog" break
then fi
echo "The service $service_name has correctly started." >&2 echo -n "." >&2
break sleep 1
fi done
echo -n "." >&2 if [ $i -eq $timeout ]; then
sleep 1 echo "The service $service_name didn't fully started before the timeout." >&2
done journalctl --lines=$length -u $service_name >&2
if [ $i -eq $timeout ] test -n "$log_path" && echo "--" && tail --lines=$length "$log_path" >&2
then fi
echo "The service $service_name didn't fully started before the timeout." >&2
journalctl --lines=$length -u $service_name >&2
test -n "$log_path" && echo "--" && tail --lines=$length "$log_path" >&2
fi
echo "" echo ""
ynh_clean_check_starting ynh_clean_check_starting
fi fi
} }
# Clean temporary process and file used by ynh_check_starting # Clean temporary process and file used by ynh_check_starting
# (usually used in ynh_clean_setup scripts) # (usually used in ynh_clean_setup scripts)
# #
# usage: ynh_clean_check_starting # usage: ynh_clean_check_starting
ynh_clean_check_starting () { ynh_clean_check_starting() {
# Stop the execution of tail. # Stop the execution of tail.
kill -s 15 $pid_tail 2>&1 kill -s 15 $pid_tail 2>&1
ynh_secure_remove "$templog" 2>&1 ynh_secure_remove "$templog" 2>&1
} }

View file

@ -42,8 +42,8 @@ ynh_webpath_register $app $domain $path_url
#================================================= #=================================================
# Check user parameter # Check user parameter
ynh_user_exists "$admin" \ ynh_user_exists "$admin" ||
|| ynh_die "The chosen admin user does not exist." ynh_die "The chosen admin user does not exist."
#================================================= #=================================================
# STORE SETTINGS FROM MANIFEST # STORE SETTINGS FROM MANIFEST
@ -124,8 +124,8 @@ add_systemd_config
# If app is public, add url to SSOWat conf as skipped_uris # If app is public, add url to SSOWat conf as skipped_uris
if [[ $is_public -eq 1 ]]; then if [[ $is_public -eq 1 ]]; then
# unprotected_uris allows SSO credentials to be passed anyway. # unprotected_uris allows SSO credentials to be passed anyway.
ynh_app_setting_set "$app" unprotected_uris "/" ynh_app_setting_set "$app" unprotected_uris "/"
fi fi
#================================================= #=================================================

View file

@ -37,8 +37,7 @@ ynh_remove_systemd_config
#================================================= #=================================================
# Remove a service from the admin panel, added by `yunohost service add` # Remove a service from the admin panel, added by `yunohost service add`
if yunohost service status | grep -q $app if yunohost service status | grep -q $app; then
then
echo "Remove $app service" echo "Remove $app service"
yunohost service remove $app yunohost service remove $app
fi fi
@ -66,18 +65,15 @@ ynh_secure_remove "/var/log/$app.log"
# CLOSE PORTS # CLOSE PORTS
#================================================= #=================================================
if yunohost firewall list | grep -q "\- $port$" if yunohost firewall list | grep -q "\- $port$"; then
then
echo "Close port $port" >&2 echo "Close port $port" >&2
yunohost firewall disallow TCP $port 2>&1 yunohost firewall disallow TCP $port 2>&1
fi fi
if yunohost firewall list | grep -q "\- $port_hub$" if yunohost firewall list | grep -q "\- $port_hub$"; then
then
echo "Close port $port_hub" >&2 echo "Close port $port_hub" >&2
yunohost firewall disallow TCP $port_hub 2>&1 yunohost firewall disallow TCP $port_hub 2>&1
fi fi
if yunohost firewall list | grep -q "\- $port_http_proxy$" if yunohost firewall list | grep -q "\- $port_http_proxy$"; then
then
echo "Close port $port_http_proxy" >&2 echo "Close port $port_http_proxy" >&2
yunohost firewall disallow TCP $port_http_proxy 2>&1 yunohost firewall disallow TCP $port_http_proxy 2>&1
fi fi
@ -92,4 +88,4 @@ ynh_remove_nginx_config
# REMOVE LOGROTATE CONFIGURATION # REMOVE LOGROTATE CONFIGURATION
#================================================= #=================================================
#ynh_remove_logrotate #ynh_remove_logrotate

View file

@ -104,8 +104,8 @@ add_systemd_config
# If app is public, add url to SSOWat conf as skipped_uris # If app is public, add url to SSOWat conf as skipped_uris
if [[ $is_public -eq 1 ]]; then if [[ $is_public -eq 1 ]]; then
# See install script # See install script
ynh_app_setting_set "$app" unprotected_uris "/" ynh_app_setting_set "$app" unprotected_uris "/"
fi fi
#================================================= #=================================================
@ -124,4 +124,4 @@ yunohost service add $app --log "systemd"
# START SERVICE # START SERVICE
#================================================= #=================================================
ynh_systemd_action -n $app -a restart -l "JupyterHub is now running at" -p "systemd" ynh_systemd_action -n $app -a restart -l "JupyterHub is now running at" -p "systemd"