From 7208c5670c5a1e17d6b47aa5aa315fa0b56071e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 16 Jan 2023 22:45:06 +0100 Subject: [PATCH 01/29] Update manifest.json --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 71ee51e..6d632fb 100644 --- a/manifest.json +++ b/manifest.json @@ -3,7 +3,7 @@ "id": "huginn", "packaging_format": 1, "description": { - "en": " Build agents that monitor and act on your behalf. Your agents are standing by!" + "en": " Build agents that monitor and act on your behalf" }, "version": "2022.03.24~ynh3", "url": "https://github.com/huginn/hugin", From d126322eddeb7e4253b46dfc1786941ea6f34974 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Thu, 28 Sep 2023 22:23:08 +0200 Subject: [PATCH 02/29] v2 --- conf/app.src | 7 --- conf/jobs.service | 6 +-- conf/nginx.conf | 4 +- conf/web.service | 6 +-- manifest.toml | 65 +++++++++++++++++++++++++++ scripts/_common.sh | 4 +- scripts/backup | 16 +++---- scripts/change_url | 88 +++++++++++++++++++------------------ scripts/install | 106 ++++++++++++++++++++++----------------------- scripts/remove | 30 ++++++------- scripts/restore | 66 ++++++++++++++-------------- scripts/upgrade | 86 ++++++++++++++++++------------------ 12 files changed, 272 insertions(+), 212 deletions(-) delete mode 100644 conf/app.src create mode 100644 manifest.toml diff --git a/conf/app.src b/conf/app.src deleted file mode 100644 index ea69a03..0000000 --- a/conf/app.src +++ /dev/null @@ -1,7 +0,0 @@ -SOURCE_URL=https://codeload.github.com/huginn/huginn/tar.gz/c68274384cc7e7d2ab24ef70e5280bcbd5ca57c6 -SOURCE_SUM=5794a7a1b230ebac01b3d409eb40d90f68c1646e4f042777134499c68315f72e -SOURCE_SUM_PRG=sha256sum -SOURCE_FORMAT=tar.gz -SOURCE_IN_SUBDIR=true -SOURCE_FILENAME= -SOURCE_EXTRACT=true diff --git a/conf/jobs.service b/conf/jobs.service index 0ecf68c..68b255c 100644 --- a/conf/jobs.service +++ b/conf/jobs.service @@ -6,11 +6,11 @@ After=network.target Type=simple User=__APP__ Group=__APP__ -WorkingDirectory=__FINALPATH__/ -EnvironmentFile=__FINALPATH__/.env +WorkingDirectory=__INSTALL_DIR__/ +EnvironmentFile=__INSTALL_DIR__/.env Environment="__YNH_RUBY_LOAD_PATH__" ExecStart=/opt/rbenv/versions/__APP__/bin/bundle exec rails runner bin/threaded.rb -StandardOutput=append:__FINALPATH__/log/__APP__-jobs.log +StandardOutput=append:__INSTALL_DIR__/log/__APP__-jobs.log StandardError=inherit [Install] diff --git a/conf/nginx.conf b/conf/nginx.conf index 0416ddf..9197d17 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -2,7 +2,7 @@ location __PATH__/ { # Path to source - alias __FINALPATH__/public/; + alias __INSTALL_DIR__/public/; ## @huginn is a named location for the upstream fallback, see below. try_files $uri $uri/index.html $uri.html @huginn; @@ -27,5 +27,5 @@ location @huginn { proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Frame-Options SAMEORIGIN; - proxy_pass http://unix:/__FINALPATH__/tmp/sockets/unicorn.socket; + proxy_pass http://unix:/__INSTALL_DIR__/tmp/sockets/unicorn.socket; } diff --git a/conf/web.service b/conf/web.service index 740b6a9..12a5b4d 100644 --- a/conf/web.service +++ b/conf/web.service @@ -6,11 +6,11 @@ After=network.target Type=simple User=__APP__ Group=__APP__ -WorkingDirectory=__FINALPATH__/ -EnvironmentFile=__FINALPATH__/.env +WorkingDirectory=__INSTALL_DIR__/ +EnvironmentFile=__INSTALL_DIR__/.env Environment="__YNH_RUBY_LOAD_PATH__" ExecStart=/opt/rbenv/versions/__APP__/bin/bundle exec unicorn -c config/unicorn.rb -StandardOutput=append:__FINALPATH__/log/__APP__-web.log +StandardOutput=append:__INSTALL_DIR__/log/__APP__-web.log StandardError=inherit [Install] diff --git a/manifest.toml b/manifest.toml new file mode 100644 index 0000000..ec2dfa4 --- /dev/null +++ b/manifest.toml @@ -0,0 +1,65 @@ +packaging_format = 2 + +id = "huginn" +name = "Huginn" +description.en = " Build agents that monitor and act on your behalf" + +version = "2022.03.24~ynh3" + +maintainers = ["aurel"] + +[upstream] +license = "MIT" +code = "https://github.com/huginn/huginn" +website = "https://github.com/huginn/hugin" +cpe = "???" # FIXME: optional but recommended if relevant, this is meant to contain the Common Platform Enumeration, which is sort of a standard id for applications defined by the NIST. In particular, Yunohost may use this is in the future to easily track CVE (=security reports) related to apps. The CPE may be obtained by searching here: https://nvd.nist.gov/products/cpe/search. For example, for Nextcloud, the CPE is 'cpe:2.3:a:nextcloud:nextcloud' (no need to include the version number) +fund = "???" # FIXME: optional but recommended (or remove if irrelevant / not applicable). This is meant to be an URL where people can financially support this app, especially when its development is based on volunteers and/or financed by its community. YunoHost may later advertise it in the webadmin. + +[integration] +yunohost = ">= 11.0.9" +architectures = "all" # FIXME: can be replaced by a list of supported archs using the dpkg --print-architecture nomenclature (amd64/i386/armhf/arm64), for example: ["amd64", "i386"] +multi_instance = true +ldap = "?" # FIXME: replace with true, false, or "not_relevant". Not to confuse with the "sso" key : the "ldap" key corresponds to wether or not a user *can* login on the app using its YunoHost credentials. +sso = "?" # FIXME: replace with true, false, or "not_relevant". Not to confuse with the "ldap" key : the "sso" key corresponds to wether or not a user is *automatically logged-in* on the app when logged-in on the YunoHost portal. +disk = "50M" # FIXME: replace with an **estimate** minimum disk requirement. e.g. 20M, 400M, 1G, ... +ram.build = "50M" # FIXME: replace with an **estimate** minimum ram requirement. e.g. 50M, 400M, 1G, ... +ram.runtime = "50M" # FIXME: replace with an **estimate** minimum ram requirement. e.g. 50M, 400M, 1G, ... + +[install] + [install.domain] + # this is a generic question - ask strings are automatically handled by Yunohost's core + type = "domain" + full_domain = true + + [install.init_main_permission] + type = "group" + default = "visitors" + + [install.admin] + # this is a generic question - ask strings are automatically handled by Yunohost's core + type = "user" + + [install.password] + # this is a generic question - ask strings are automatically handled by Yunohost's core + type = "password" + + [install.invitation] + ask.en = "Choose an invitation code for new users" + type = "string" + example = "invitationcode" + +[resources] + [resources.sources.main] + url = "https://codeload.github.com/huginn/huginn/tar.gz/c68274384cc7e7d2ab24ef70e5280bcbd5ca57c6" + sha256 = "5794a7a1b230ebac01b3d409eb40d90f68c1646e4f042777134499c68315f72e" + + + [resources.system_user] + + [resources.install_dir] + + [resources.permissions] + main.url = "/" + + [resources.database] + type = "mysql" diff --git a/scripts/_common.sh b/scripts/_common.sh index 75df75e..1c0627d 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -5,8 +5,8 @@ #================================================= # dependencies used by the app -pkg_dependencies="" -build_pkg_dependencies="default-libmysqlclient-dev libyaml-dev libgdbm-dev libncurses5-dev libffi-dev libcurl4-openssl-dev libicu-dev python3-docutils pkg-config cmake nodejs graphviz jq" +#REMOVEME? pkg_dependencies="" +#REMOVEME? build_pkg_dependencies="default-libmysqlclient-dev libyaml-dev libgdbm-dev libncurses5-dev libffi-dev libcurl4-openssl-dev libicu-dev python3-docutils pkg-config cmake nodejs graphviz jq" ruby_version=2.6 diff --git a/scripts/backup b/scripts/backup index be50587..fd4055c 100644 --- a/scripts/backup +++ b/scripts/backup @@ -14,22 +14,22 @@ source /usr/share/yunohost/helpers # MANAGE SCRIPT FAILURE #================================================= -ynh_clean_setup () { +#REMOVEME? ynh_clean_setup () { true } # Exit if an error occurs during the execution of the script -ynh_abort_if_errors +#REMOVEME? ynh_abort_if_errors #================================================= # LOAD SETTINGS #================================================= -ynh_print_info --message="Loading installation settings..." +#REMOVEME? ynh_print_info --message="Loading installation settings..." -app=$YNH_APP_INSTANCE_NAME +#REMOVEME? app=$YNH_APP_INSTANCE_NAME -final_path=$(ynh_app_setting_get --app=$app --key=final_path) -domain=$(ynh_app_setting_get --app=$app --key=domain) -db_name=$(ynh_app_setting_get --app=$app --key=db_name) +#REMOVEME? #REMOVEME? install_dir=$(ynh_app_setting_get --app=$app --key=install_dir) +#REMOVEME? domain=$(ynh_app_setting_get --app=$app --key=domain) +#REMOVEME? db_name=$(ynh_app_setting_get --app=$app --key=db_name) #================================================= # DECLARE DATA AND CONF FILES TO BACKUP @@ -40,7 +40,7 @@ ynh_print_info --message="Declaring files to be backed up..." # BACKUP THE APP MAIN DIR #================================================= -ynh_backup --src_path="$final_path" +ynh_backup --src_path="$install_dir" #================================================= # BACKUP THE NGINX CONFIGURATION diff --git a/scripts/change_url b/scripts/change_url index fef5119..3931141 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -13,62 +13,62 @@ source /usr/share/yunohost/helpers # RETRIEVE ARGUMENTS #================================================= -old_domain=$YNH_APP_OLD_DOMAIN -old_path=$YNH_APP_OLD_PATH +#REMOVEME? old_domain=$YNH_APP_OLD_DOMAIN +#REMOVEME? old_path=$YNH_APP_OLD_PATH -new_domain=$YNH_APP_NEW_DOMAIN -new_path="/" +#REMOVEME? new_domain=$YNH_APP_NEW_DOMAIN +#REMOVEME? new_path="/" -app=$YNH_APP_INSTANCE_NAME +#REMOVEME? app=$YNH_APP_INSTANCE_NAME #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading installation settings..." +#REMOVEME? ynh_script_progression --message="Loading installation settings..." -# Needed for helper "ynh_add_nginx_config" -final_path=$(ynh_app_setting_get --app=$app --key=final_path) +#REMOVEME? # Needed for helper "ynh_add_nginx_config" +#REMOVEME? #REMOVEME? install_dir=$(ynh_app_setting_get --app=$app --key=install_dir) # Add settings here as needed by your application -db_name=$(ynh_app_setting_get --app=$app --key=db_name) -db_user=$db_name -db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) -port=$(ynh_app_setting_get --app=$app --key=port) -secret=$(ynh_app_setting_get --app=$app --key=secret) -invitation=$(ynh_app_setting_get --app=$app --key=invitation) +#REMOVEME? db_name=$(ynh_app_setting_get --app=$app --key=db_name) +#REMOVEME? db_user=$db_name +#REMOVEME? db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) +#REMOVEME? port=$(ynh_app_setting_get --app=$app --key=port) +#REMOVEME? secret=$(ynh_app_setting_get --app=$app --key=secret) +#REMOVEME? invitation=$(ynh_app_setting_get --app=$app --key=invitation) #================================================= # BACKUP BEFORE CHANGE URL THEN ACTIVE TRAP #================================================= -ynh_script_progression --message="Backing up the app before changing its URL (may take a while)..." +#REMOVEME? ynh_script_progression --message="Backing up the app before changing its URL (may take a while)..." # Backup the current version of the app -ynh_backup_before_upgrade -ynh_clean_setup () { - ynh_clean_check_starting +#REMOVEME? ynh_backup_before_upgrade +#REMOVEME? ynh_clean_setup () { + #REMOVEME? ynh_clean_check_starting # Remove the new domain config file, the remove script won't do it as it doesn't know yet its location. - ynh_secure_remove --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" +#REMOVEME? ynh_secure_remove --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" # Restore it if the upgrade fails - ynh_restore_upgradebackup +#REMOVEME? ynh_restore_upgradebackup } # Exit if an error occurs during the execution of the script -ynh_abort_if_errors +#REMOVEME? ynh_abort_if_errors #================================================= # CHECK WHICH PARTS SHOULD BE CHANGED #================================================= -change_domain=0 -if [ "$old_domain" != "$new_domain" ] +#REMOVEME? change_domain=0 +#REMOVEME? if [ "$old_domain" != "$new_domain" ] then - change_domain=1 + #REMOVEME? change_domain=1 fi -change_path=0 -if [ "$old_path" != "$new_path" ] +#REMOVEME? change_path=0 +#REMOVEME? if [ "$old_path" != "$new_path" ] then - change_path=1 + #REMOVEME? change_path=1 fi #================================================= @@ -86,28 +86,30 @@ ynh_systemd_action --service_name=$app-jobs --action="stop" --log_path="/var/log #================================================= ynh_script_progression --message="Updating NGINX web server configuration..." -nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf +ynh_change_url_nginx_config + +#REMOVEME? nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf # Change the path in the NGINX config file if [ $change_path -eq 1 ] then # Make a backup of the original NGINX config file if modified - ynh_backup_if_checksum_is_different --file="$nginx_conf_path" +#REMOVEME? ynh_backup_if_checksum_is_different --file="$nginx_conf_path" # Set global variables for NGINX helper - domain="$old_domain" - path_url="$new_path" +#REMOVEME? domain="$old_domain" +#REMOVEME? path="$new_path" # Create a dedicated NGINX config - ynh_add_nginx_config +#REMOVEME? ynh_add_nginx_config fi # Change the domain for NGINX if [ $change_domain -eq 1 ] then # Delete file checksum for the old conf file location - ynh_delete_file_checksum --file="$nginx_conf_path" - mv $nginx_conf_path /etc/nginx/conf.d/$new_domain.d/$app.conf +#REMOVEME? ynh_delete_file_checksum --file="$nginx_conf_path" +#REMOVEME? mv $nginx_conf_path /etc/nginx/conf.d/$new_domain.d/$app.conf # Store file checksum for the new config file location - ynh_store_file_checksum --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" +#REMOVEME? ynh_store_file_checksum --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" fi #================================================= @@ -116,13 +118,13 @@ fi # UPDATE A CONFIG FILE #================================================= ynh_script_progression --message="Updating a configuration file..." - +#REMOVEME? domain=$new_domain -path_url=$new_path -ynh_add_config --template="../conf/.env.example" --destination="$final_path/.env" +path=$new_path +ynh_add_config --template="../conf/.env.example" --destination="$install_dir/.env" -chmod 400 "$final_path/.env" -chown $app:$app "$final_path/.env" +chmod 400 "$install_dir/.env" +chown $app:$app "$install_dir/.env" #================================================= # GENERIC FINALISATION @@ -133,14 +135,14 @@ ynh_script_progression --message="Starting a systemd service..." # Start a systemd service ynh_systemd_action --service_name="$app-web" --action="start" --log_path="/var/log/$app/$app-web.log" --line_match="listening on addr" -ynh_systemd_action --service_name="$app-jobs" --action="start" --log_path="$final_path/log/huginn-jobs.log" --line_match="listening on addr" +ynh_systemd_action --service_name="$app-jobs" --action="start" --log_path="$install_dir/log/huginn-jobs.log" --line_match="listening on addr" #================================================= # RELOAD NGINX #================================================= -ynh_script_progression --message="Reloading NGINX web server..." +#REMOVEME? ynh_script_progression --message="Reloading NGINX web server..." -ynh_systemd_action --service_name=nginx --action=reload +#REMOVEME? #REMOVEME? ynh_systemd_action --service_name=nginx --action=reload #================================================= # END OF SCRIPT diff --git a/scripts/install b/scripts/install index 2f25a88..a0216ff 100755 --- a/scripts/install +++ b/scripts/install @@ -14,46 +14,46 @@ source /usr/share/yunohost/helpers # MANAGE SCRIPT FAILURE #================================================= -ynh_clean_setup () { +#REMOVEME? ynh_clean_setup () { ynh_clean_check_starting } # Exit if an error occurs during the execution of the script -ynh_abort_if_errors +#REMOVEME? ynh_abort_if_errors #================================================= # RETRIEVE ARGUMENTS FROM THE MANIFEST #================================================= -domain=$YNH_APP_ARG_DOMAIN -path_url="/" -is_public=$YNH_APP_ARG_IS_PUBLIC -admin=$YNH_APP_ARG_ADMIN -password=$YNH_APP_ARG_PASSWORD -invitation=$YNH_APP_ARG_INVITATION +#REMOVEME? domain=$YNH_APP_ARG_DOMAIN +path="/" +#REMOVEME? is_public=$YNH_APP_ARG_IS_PUBLIC +#REMOVEME? admin=$YNH_APP_ARG_ADMIN +#REMOVEME? password=$YNH_APP_ARG_PASSWORD +#REMOVEME? invitation=$YNH_APP_ARG_INVITATION -app=$YNH_APP_INSTANCE_NAME +#REMOVEME? app=$YNH_APP_INSTANCE_NAME secret=$(ynh_string_random --length=16) #================================================= # CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS #================================================= -ynh_script_progression --message="Validating installation parameters..." +#REMOVEME? ynh_script_progression --message="Validating installation parameters..." -final_path=/var/www/$app -test ! -e "$final_path" || ynh_die --message="This path already contains a folder" +#REMOVEME? install_dir=/var/www/$app +#REMOVEME? test ! -e "$install_dir" || ynh_die --message="This path already contains a folder" # Register (book) web path -ynh_webpath_register --app=$app --domain=$domain --path_url=$path_url +#REMOVEME? ynh_webpath_register --app=$app --domain=$domain --path=$path #================================================= # STORE SETTINGS FROM MANIFEST #================================================= -ynh_script_progression --message="Storing installation settings..." +#REMOVEME? ynh_script_progression --message="Storing installation settings..." -ynh_app_setting_set --app=$app --key=domain --value=$domain -ynh_app_setting_set --app=$app --key=path --value=$path_url -ynh_app_setting_set --app=$app --key=admin --value=$admin +#REMOVEME? ynh_app_setting_set --app=$app --key=domain --value=$domain +#REMOVEME? ynh_app_setting_set --app=$app --key=path --value=$path +#REMOVEME? ynh_app_setting_set --app=$app --key=admin --value=$admin ynh_app_setting_set --app=$app --key=invitation --value=$invitation ynh_app_setting_set --app=$app --key=secret --value=$secret @@ -62,52 +62,52 @@ ynh_app_setting_set --app=$app --key=secret --value=$secret #================================================= # FIND AND OPEN A PORT #================================================= -ynh_script_progression --message="Finding an available port..." +#REMOVEME? ynh_script_progression --message="Finding an available port..." # Find an available port -port=$(ynh_find_port --port=8095) -ynh_app_setting_set --app=$app --key=port --value=$port +#REMOVEME? port=$(ynh_find_port --port=8095) +#REMOVEME? ynh_app_setting_set --app=$app --key=port --value=$port #================================================= # INSTALL DEPENDENCIES #================================================= -ynh_script_progression --message="Installing dependencies..." +#REMOVEME? ynh_script_progression --message="Installing dependencies..." -ynh_install_app_dependencies $pkg_dependencies $build_pkg_dependencies +#REMOVEME? ynh_install_app_dependencies $pkg_dependencies $build_pkg_dependencies ynh_install_ruby --ruby_version=$ruby_version #================================================= # CREATE DEDICATED USER #================================================= -ynh_script_progression --message="Configuring system user..." +#REMOVEME? ynh_script_progression --message="Configuring system user..." # Create a system user -ynh_system_user_create --username=$app --home_dir="$final_path" +#REMOVEME? ynh_system_user_create --username=$app --home_dir="$install_dir" #================================================= # CREATE A MYSQL DATABASE #================================================= -ynh_script_progression --message="Creating a MySQL database..." +#REMOVEME? ynh_script_progression --message="Creating a MySQL database..." -db_name=$(ynh_sanitize_dbid --db_name=$app) -db_user=$db_name -ynh_app_setting_set --app=$app --key=db_name --value=$db_name -ynh_mysql_setup_db --db_user=$db_user --db_name=$db_name +#REMOVEME? db_name=$(ynh_sanitize_dbid --db_name=$app) +#REMOVEME? db_user=$db_name +#REMOVEME? ynh_app_setting_set --app=$app --key=db_name --value=$db_name +#REMOVEME? ynh_mysql_setup_db --db_user=$db_user --db_name=$db_name #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= ynh_script_progression --message="Setting up source files..." -ynh_app_setting_set --app=$app --key=final_path --value=$final_path +#REMOVEME? ynh_app_setting_set --app=$app --key=install_dir --value=$install_dir # Download, check integrity, uncompress and patch the source from app.src -ynh_setup_source --dest_dir="$final_path" +ynh_setup_source --dest_dir="$install_dir" -mkdir -p "$final_path/log" "$final_path/tmp/pids" "$final_path/tmp/sockets" +mkdir -p "$install_dir/log" "$install_dir/tmp/pids" "$install_dir/tmp/sockets" -chmod 750 "$final_path" -chmod -R o-rwx "$final_path" -chown -R $app:www-data "$final_path" +chmod 750 "$install_dir" +chmod -R o-rwx "$install_dir" +chown -R $app:www-data "$install_dir" #================================================= # NGINX CONFIGURATION @@ -124,20 +124,20 @@ ynh_add_nginx_config #================================================= ynh_script_progression --message="Adding a configuration file..." -ynh_add_config --template="../conf/.env.example" --destination="$final_path/.env" +ynh_add_config --template="../conf/.env.example" --destination="$install_dir/.env" -chmod 400 "$final_path/.env" -chown $app:$app "$final_path/.env" +chmod 400 "$install_dir/.env" +chown $app:$app "$install_dir/.env" #================================================= # BUILD APP #================================================= ynh_script_progression --message="Building app..." -pushd $final_path +pushd $install_dir ynh_use_ruby cp config/unicorn.rb.example config/unicorn.rb - chown -R $app:www-data "$final_path/config/unicorn.rb" + chown -R $app:www-data "$install_dir/config/unicorn.rb" ynh_gem update --system --no-document ynh_gem install rake bundler foreman --no-document bundle config set --local deployment 'true' @@ -149,11 +149,11 @@ pushd $final_path ynh_exec_warn_less bundle exec rake assets:precompile RAILS_ENV=production popd -ynh_install_app_dependencies $pkg_dependencies +#REMOVEME? ynh_install_app_dependencies $pkg_dependencies -chmod 750 "$final_path/public" -chmod -R o-rwx "$final_path/public" -chown -R $app:www-data "$final_path/public" +chmod 750 "$install_dir/public" +chmod -R o-rwx "$install_dir/public" +chown -R $app:www-data "$install_dir/public" #================================================= # SETUP SYSTEMD @@ -171,8 +171,8 @@ ynh_add_systemd_config --service="$app-jobs" --template="jobs.service" #================================================= ynh_script_progression --message="Integrating service in YunoHost..." -yunohost service add "$app-web" --log="$final_path/log/unicorn.log" -yunohost service add "$app-jobs" --log="$final_path/log/production.log" +yunohost service add "$app-web" --log="$install_dir/log/unicorn.log" +yunohost service add "$app-jobs" --log="$install_dir/log/production.log" #================================================= # START SYSTEMD SERVICE @@ -180,28 +180,28 @@ yunohost service add "$app-jobs" --log="$final_path/log/production.log" ynh_script_progression --message="Starting a systemd service..." # Start a systemd service -ynh_systemd_action --service_name="$app-web" --action="start" --log_path="$final_path/log/unicorn.log" --line_match="listening on addr" -ynh_systemd_action --service_name="$app-jobs" --action="start" --log_path="$final_path/log/huginn-jobs.log" --line_match="Starting" +ynh_systemd_action --service_name="$app-web" --action="start" --log_path="$install_dir/log/unicorn.log" --line_match="listening on addr" +ynh_systemd_action --service_name="$app-jobs" --action="start" --log_path="$install_dir/log/huginn-jobs.log" --line_match="Starting" #================================================= # SETUP SSOWAT #================================================= -ynh_script_progression --message="Configuring permissions..." +#REMOVEME? ynh_script_progression --message="Configuring permissions..." # Make app public if necessary -if [ $is_public -eq 1 ] +#REMOVEME? if [ $is_public -eq 1 ] then # Everyone can access the app. # The "main" permission is automatically created before the install script. - ynh_permission_update --permission="main" --add="visitors" +#REMOVEME? ynh_permission_update --permission="main" --add="visitors" fi #================================================= # RELOAD NGINX #================================================= -ynh_script_progression --message="Reloading NGINX web server..." +#REMOVEME? ynh_script_progression --message="Reloading NGINX web server..." -ynh_systemd_action --service_name=nginx --action=reload +#REMOVEME? ynh_systemd_action --service_name=nginx --action=reload #================================================= # END OF SCRIPT diff --git a/scripts/remove b/scripts/remove index 2588aed..922f1f9 100755 --- a/scripts/remove +++ b/scripts/remove @@ -13,15 +13,15 @@ source /usr/share/yunohost/helpers #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading installation settings..." +#REMOVEME? ynh_script_progression --message="Loading installation settings..." -app=$YNH_APP_INSTANCE_NAME +#REMOVEME? app=$YNH_APP_INSTANCE_NAME -domain=$(ynh_app_setting_get --app=$app --key=domain) -port=$(ynh_app_setting_get --app=$app --key=port) -db_name=$(ynh_app_setting_get --app=$app --key=db_name) -db_user=$db_name -final_path=$(ynh_app_setting_get --app=$app --key=final_path) +#REMOVEME? domain=$(ynh_app_setting_get --app=$app --key=domain) +#REMOVEME? port=$(ynh_app_setting_get --app=$app --key=port) +#REMOVEME? db_name=$(ynh_app_setting_get --app=$app --key=db_name) +#REMOVEME? db_user=$db_name +#REMOVEME? #REMOVEME? install_dir=$(ynh_app_setting_get --app=$app --key=install_dir) #================================================= # STANDARD REMOVE @@ -53,18 +53,18 @@ ynh_remove_systemd_config --service="$app-jobs" #================================================= # REMOVE THE MYSQL DATABASE #================================================= -ynh_script_progression --message="Removing the MySQL database..." +#REMOVEME? ynh_script_progression --message="Removing the MySQL database..." # Remove a database if it exists, along with the associated user -ynh_mysql_remove_db --db_user=$db_user --db_name=$db_name +#REMOVEME? ynh_mysql_remove_db --db_user=$db_user --db_name=$db_name #================================================= # REMOVE APP MAIN DIR #================================================= -ynh_script_progression --message="Removing app main directory..." +#REMOVEME? ynh_script_progression --message="Removing app main directory..." # Remove the app directory securely -ynh_secure_remove --file="$final_path" +#REMOVEME? ynh_secure_remove --file="$install_dir" #================================================= # REMOVE NGINX CONFIGURATION @@ -77,11 +77,11 @@ ynh_remove_nginx_config #================================================= # REMOVE DEPENDENCIES #================================================= -ynh_script_progression --message="Removing dependencies..." +#REMOVEME? ynh_script_progression --message="Removing dependencies..." # Remove metapackage and its dependencies ynh_remove_ruby -ynh_remove_app_dependencies +#REMOVEME? ynh_remove_app_dependencies #================================================= # SPECIFIC REMOVE @@ -95,10 +95,10 @@ ynh_script_progression --message="Removing various files..." #================================================= # REMOVE DEDICATED USER #================================================= -ynh_script_progression --message="Removing the dedicated system user..." +#REMOVEME? ynh_script_progression --message="Removing the dedicated system user..." # Delete a system user -ynh_system_user_delete --username=$app +#REMOVEME? ynh_system_user_delete --username=$app #================================================= # END OF SCRIPT diff --git a/scripts/restore b/scripts/restore index 9035b60..240e15f 100644 --- a/scripts/restore +++ b/scripts/restore @@ -15,32 +15,32 @@ source /usr/share/yunohost/helpers # MANAGE SCRIPT FAILURE #================================================= -ynh_clean_setup () { +#REMOVEME? ynh_clean_setup () { ynh_clean_check_starting } # Exit if an error occurs during the execution of the script -ynh_abort_if_errors +#REMOVEME? ynh_abort_if_errors #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading installation settings..." +#REMOVEME? ynh_script_progression --message="Loading installation settings..." -app=$YNH_APP_INSTANCE_NAME +#REMOVEME? app=$YNH_APP_INSTANCE_NAME -domain=$(ynh_app_setting_get --app=$app --key=domain) -path_url=$(ynh_app_setting_get --app=$app --key=path) -final_path=$(ynh_app_setting_get --app=$app --key=final_path) -db_name=$(ynh_app_setting_get --app=$app --key=db_name) -db_user=$db_name +#REMOVEME? domain=$(ynh_app_setting_get --app=$app --key=domain) +#REMOVEME? path=$(ynh_app_setting_get --app=$app --key=path) +#REMOVEME? #REMOVEME? install_dir=$(ynh_app_setting_get --app=$app --key=install_dir) +#REMOVEME? db_name=$(ynh_app_setting_get --app=$app --key=db_name) +#REMOVEME? db_user=$db_name #================================================= # CHECK IF THE APP CAN BE RESTORED #================================================= -ynh_script_progression --message="Validating restoration parameters..." +#REMOVEME? ynh_script_progression --message="Validating restoration parameters..." -test ! -d $final_path \ - || ynh_die --message="There is already a directory: $final_path " +#REMOVEME? test ! -d $install_dir \ + || ynh_die --message="There is already a directory: $install_dir " #================================================= # STANDARD RESTORATION STEPS @@ -54,42 +54,42 @@ ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" #================================================= # RECREATE THE DEDICATED USER #================================================= -ynh_script_progression --message="Recreating the dedicated system user..." +#REMOVEME? ynh_script_progression --message="Recreating the dedicated system user..." # Create the dedicated user (if not existing) -ynh_system_user_create --username=$app --home_dir="$final_path" +#REMOVEME? ynh_system_user_create --username=$app --home_dir="$install_dir" #================================================= # RESTORE THE APP MAIN DIR #================================================= ynh_script_progression --message="Restoring the app main directory..." -ynh_restore_file --origin_path="$final_path" +ynh_restore_file --origin_path="$install_dir" -mkdir -p "$final_path/log" "$final_path/tmp/pids" "$final_path/tmp/sockets" +mkdir -p "$install_dir/log" "$install_dir/tmp/pids" "$install_dir/tmp/sockets" -chmod 750 "$final_path" -chmod -R o-rwx "$final_path" -chown -R $app:www-data "$final_path" +chmod 750 "$install_dir" +chmod -R o-rwx "$install_dir" +chown -R $app:www-data "$install_dir" #================================================= # SPECIFIC RESTORATION #================================================= # REINSTALL DEPENDENCIES #================================================= -ynh_script_progression --message="Reinstalling dependencies..." +#REMOVEME? ynh_script_progression --message="Reinstalling dependencies..." # Define and install dependencies -ynh_install_app_dependencies $pkg_dependencies $build_pkg_dependencies +#REMOVEME? ynh_install_app_dependencies $pkg_dependencies $build_pkg_dependencies ynh_install_ruby --ruby_version=$ruby_version #================================================= # RESTORE THE MYSQL DATABASE #================================================= -ynh_script_progression --message="Restoring the MySQL database..." +#REMOVEME? ynh_script_progression --message="Restoring the MySQL database..." -db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) -ynh_mysql_setup_db --db_user=$db_user --db_name=$db_name --db_pwd=$db_pwd +#REMOVEME? db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) +#REMOVEME? ynh_mysql_setup_db --db_user=$db_user --db_name=$db_name --db_pwd=$db_pwd ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < ./db.sql #================================================= @@ -97,7 +97,7 @@ ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < ./ #================================================= ynh_script_progression --message="Building app..." -pushd $final_path +pushd $install_dir ynh_use_ruby ynh_gem update --system --no-document ynh_gem install rake bundler foreman --no-document @@ -107,11 +107,11 @@ pushd $final_path ynh_exec_warn_less bundle exec rake assets:clean assets:precompile tmp:cache:clear RAILS_ENV=production popd -ynh_install_app_dependencies $pkg_dependencies +#REMOVEME? ynh_install_app_dependencies $pkg_dependencies -chmod 750 "$final_path/public" -chmod -R o-rwx "$final_path/public" -chown -R $app:www-data "$final_path/public" +chmod 750 "$install_dir/public" +chmod -R o-rwx "$install_dir/public" +chown -R $app:www-data "$install_dir/public" #================================================= # RESTORE SYSTEMD @@ -128,8 +128,8 @@ systemctl enable $app-jobs.service --quiet #================================================= ynh_script_progression --message="Integrating service in YunoHost..." -yunohost service add "$app-web" --log="$final_path/log/unicorn.log" -yunohost service add "$app-jobs" --log="$final_path/log/production.log" +yunohost service add "$app-web" --log="$install_dir/log/unicorn.log" +yunohost service add "$app-jobs" --log="$install_dir/log/production.log" #================================================= # START SYSTEMD SERVICE @@ -137,8 +137,8 @@ yunohost service add "$app-jobs" --log="$final_path/log/production.log" ynh_script_progression --message="Starting a systemd service..." # Start a systemd service -ynh_systemd_action --service_name="$app-web" --action="start" --log_path="$final_path/log/unicorn.log" --line_match="listening on addr" -ynh_systemd_action --service_name="$app-jobs" --action="start" --log_path="$final_path/log/huginn-jobs.log" --line_match="Starting" +ynh_systemd_action --service_name="$app-web" --action="start" --log_path="$install_dir/log/unicorn.log" --line_match="listening on addr" +ynh_systemd_action --service_name="$app-jobs" --action="start" --log_path="$install_dir/log/huginn-jobs.log" --line_match="Starting" #================================================= # GENERIC FINALIZATION diff --git a/scripts/upgrade b/scripts/upgrade index 9013e65..8eb5589 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -13,20 +13,20 @@ source /usr/share/yunohost/helpers #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading installation settings..." +#REMOVEME? ynh_script_progression --message="Loading installation settings..." -app=$YNH_APP_INSTANCE_NAME +#REMOVEME? app=$YNH_APP_INSTANCE_NAME -domain=$(ynh_app_setting_get --app=$app --key=domain) -path_url=$(ynh_app_setting_get --app=$app --key=path) -admin=$(ynh_app_setting_get --app=$app --key=admin) -final_path=$(ynh_app_setting_get --app=$app --key=final_path) -db_name=$(ynh_app_setting_get --app=$app --key=db_name) -db_user=$db_name -db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) -port=$(ynh_app_setting_get --app=$app --key=port) -secret=$(ynh_app_setting_get --app=$app --key=secret) -invitation=$(ynh_app_setting_get --app=$app --key=invitation) +#REMOVEME? domain=$(ynh_app_setting_get --app=$app --key=domain) +#REMOVEME? path=$(ynh_app_setting_get --app=$app --key=path) +#REMOVEME? admin=$(ynh_app_setting_get --app=$app --key=admin) +#REMOVEME? #REMOVEME? install_dir=$(ynh_app_setting_get --app=$app --key=install_dir) +#REMOVEME? db_name=$(ynh_app_setting_get --app=$app --key=db_name) +#REMOVEME? db_user=$db_name +#REMOVEME? db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) +#REMOVEME? port=$(ynh_app_setting_get --app=$app --key=port) +#REMOVEME? secret=$(ynh_app_setting_get --app=$app --key=secret) +#REMOVEME? invitation=$(ynh_app_setting_get --app=$app --key=invitation) #================================================= # CHECK VERSION @@ -38,17 +38,17 @@ upgrade_type=$(ynh_check_app_version_changed) #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP #================================================= -ynh_script_progression --message="Backing up the app before upgrading (may take a while)..." +#REMOVEME? ynh_script_progression --message="Backing up the app before upgrading (may take a while)..." # Backup the current version of the app -ynh_backup_before_upgrade -ynh_clean_setup () { +#REMOVEME? ynh_backup_before_upgrade +#REMOVEME? ynh_clean_setup () { ynh_clean_check_starting # Restore it if the upgrade fails - ynh_restore_upgradebackup +#REMOVEME? ynh_restore_upgradebackup } # Exit if an error occurs during the execution of the script -ynh_abort_if_errors +#REMOVEME? ynh_abort_if_errors #================================================= # STANDARD UPGRADE STEPS @@ -66,8 +66,8 @@ ynh_systemd_action --service_name=$app-jobs --action="stop" --log_path="/var/log ynh_script_progression --message="Ensuring downward compatibility..." # Cleaning legacy permissions -if ynh_legacy_permissions_exists; then - ynh_legacy_permissions_delete_all +#REMOVEME? if ynh_legacy_permissions_exists; then +#REMOVEME? ynh_legacy_permissions_delete_all ynh_app_setting_delete --app=$app --key=is_public fi @@ -75,10 +75,10 @@ fi #================================================= # CREATE DEDICATED USER #================================================= -ynh_script_progression --message="Making sure dedicated system user exists..." +#REMOVEME? ynh_script_progression --message="Making sure dedicated system user exists..." # Create a dedicated user (if not existing) -ynh_system_user_create --username=$app --home_dir="$final_path" +#REMOVEME? ynh_system_user_create --username=$app --home_dir="$install_dir" #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE @@ -89,13 +89,13 @@ then ynh_script_progression --message="Upgrading source files..." # Download, check integrity, uncompress and patch the source from app.src - ynh_setup_source --dest_dir="$final_path" --keep=".env" - mkdir -p "$final_path/log" "$final_path/tmp/pids" "$final_path/tmp/sockets" + ynh_setup_source --dest_dir="$install_dir" --keep=".env" + mkdir -p "$install_dir/log" "$install_dir/tmp/pids" "$install_dir/tmp/sockets" fi -chmod 750 "$final_path" -chmod -R o-rwx "$final_path" -chown -R $app:www-data "$final_path" +chmod 750 "$install_dir" +chmod -R o-rwx "$install_dir" +chown -R $app:www-data "$install_dir" #================================================= # NGINX CONFIGURATION @@ -108,9 +108,9 @@ ynh_add_nginx_config #================================================= # UPGRADE DEPENDENCIES #================================================= -ynh_script_progression --message="Upgrading dependencies..." +#REMOVEME? ynh_script_progression --message="Upgrading dependencies..." -ynh_install_app_dependencies $pkg_dependencies $build_pkg_dependencies +#REMOVEME? ynh_install_app_dependencies $pkg_dependencies $build_pkg_dependencies ynh_install_ruby --ruby_version=$ruby_version #================================================= @@ -120,20 +120,20 @@ ynh_install_ruby --ruby_version=$ruby_version #================================================= ynh_script_progression --message="Updating a configuration file..." -ynh_add_config --template="../conf/.env.example" --destination="$final_path/.env" +ynh_add_config --template="../conf/.env.example" --destination="$install_dir/.env" -chmod 400 "$final_path/.env" -chown $app:$app "$final_path/.env" +chmod 400 "$install_dir/.env" +chown $app:$app "$install_dir/.env" #================================================= # BUILD APP #================================================= ynh_script_progression --message="Building app..." -pushd $final_path +pushd $install_dir ynh_use_ruby cp -f config/unicorn.rb.example config/unicorn.rb - chown -R $app:www-data "$final_path/config/unicorn.rb" + chown -R $app:www-data "$install_dir/config/unicorn.rb" ynh_gem update --system --no-document ynh_gem install rake bundler foreman --no-document bundle config set --local deployment 'true' @@ -143,11 +143,11 @@ pushd $final_path ynh_exec_warn_less bundle exec rake assets:clean assets:precompile tmp:cache:clear RAILS_ENV=production popd -ynh_install_app_dependencies $pkg_dependencies +#REMOVEME? ynh_install_app_dependencies $pkg_dependencies -chmod 750 "$final_path/public" -chmod -R o-rwx "$final_path/public" -chown -R $app:www-data "$final_path/public" +chmod 750 "$install_dir/public" +chmod -R o-rwx "$install_dir/public" +chown -R $app:www-data "$install_dir/public" #================================================= # SETUP SYSTEMD @@ -165,8 +165,8 @@ ynh_add_systemd_config --service="$app-jobs" --template="jobs.service" #================================================= ynh_script_progression --message="Integrating service in YunoHost..." -yunohost service add "$app-web" --log="$final_path/log/unicorn.log" -yunohost service add "$app-jobs" --log="$final_path/log/production.log" +yunohost service add "$app-web" --log="$install_dir/log/unicorn.log" +yunohost service add "$app-jobs" --log="$install_dir/log/production.log" #================================================= # START SYSTEMD SERVICE @@ -174,15 +174,15 @@ yunohost service add "$app-jobs" --log="$final_path/log/production.log" ynh_script_progression --message="Starting a systemd service..." # Start a systemd service -ynh_systemd_action --service_name="$app-web" --action="start" --log_path="$final_path/log/unicorn.log" --line_match="listening on addr" -ynh_systemd_action --service_name="$app-jobs" --action="start" --log_path="$final_path/log/huginn-jobs.log" --line_match="Starting" +ynh_systemd_action --service_name="$app-web" --action="start" --log_path="$install_dir/log/unicorn.log" --line_match="listening on addr" +ynh_systemd_action --service_name="$app-jobs" --action="start" --log_path="$install_dir/log/huginn-jobs.log" --line_match="Starting" #================================================= # RELOAD NGINX #================================================= -ynh_script_progression --message="Reloading NGINX web server..." +#REMOVEME? ynh_script_progression --message="Reloading NGINX web server..." -ynh_systemd_action --service_name=nginx --action=reload +#REMOVEME? ynh_systemd_action --service_name=nginx --action=reload #================================================= # END OF SCRIPT From 62dc38addab9b0ccfea31332c4d8061a580d9f4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Thu, 28 Sep 2023 22:31:48 +0200 Subject: [PATCH 03/29] v2 --- conf/nginx.conf | 2 +- doc/DISCLAIMER.md | 0 manifest.toml | 27 ++++++------- scripts/_common.sh | 4 -- scripts/change_url | 99 ++-------------------------------------------- scripts/install | 95 +------------------------------------------- scripts/remove | 52 ------------------------ scripts/restore | 51 ++---------------------- scripts/upgrade | 70 -------------------------------- tests.toml | 9 +++++ 10 files changed, 29 insertions(+), 380 deletions(-) delete mode 100644 doc/DISCLAIMER.md create mode 100644 tests.toml diff --git a/conf/nginx.conf b/conf/nginx.conf index 9197d17..07d021f 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -20,7 +20,7 @@ location @huginn { proxy_connect_timeout 300; proxy_redirect off; - proxy_set_header Host $http_host; + proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Ssl on; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md deleted file mode 100644 index e69de29..0000000 diff --git a/manifest.toml b/manifest.toml index ec2dfa4..c3f07c4 100644 --- a/manifest.toml +++ b/manifest.toml @@ -2,7 +2,8 @@ packaging_format = 2 id = "huginn" name = "Huginn" -description.en = " Build agents that monitor and act on your behalf" +description.en = "Build agents that monitor and act on your behalf" +description.fr = "Build agents that monitor and act on your behalf" version = "2022.03.24~ynh3" @@ -10,37 +11,29 @@ maintainers = ["aurel"] [upstream] license = "MIT" -code = "https://github.com/huginn/huginn" website = "https://github.com/huginn/hugin" -cpe = "???" # FIXME: optional but recommended if relevant, this is meant to contain the Common Platform Enumeration, which is sort of a standard id for applications defined by the NIST. In particular, Yunohost may use this is in the future to easily track CVE (=security reports) related to apps. The CPE may be obtained by searching here: https://nvd.nist.gov/products/cpe/search. For example, for Nextcloud, the CPE is 'cpe:2.3:a:nextcloud:nextcloud' (no need to include the version number) -fund = "???" # FIXME: optional but recommended (or remove if irrelevant / not applicable). This is meant to be an URL where people can financially support this app, especially when its development is based on volunteers and/or financed by its community. YunoHost may later advertise it in the webadmin. [integration] -yunohost = ">= 11.0.9" -architectures = "all" # FIXME: can be replaced by a list of supported archs using the dpkg --print-architecture nomenclature (amd64/i386/armhf/arm64), for example: ["amd64", "i386"] +yunohost = ">= 11.2" +architectures = "all" multi_instance = true -ldap = "?" # FIXME: replace with true, false, or "not_relevant". Not to confuse with the "sso" key : the "ldap" key corresponds to wether or not a user *can* login on the app using its YunoHost credentials. -sso = "?" # FIXME: replace with true, false, or "not_relevant". Not to confuse with the "ldap" key : the "sso" key corresponds to wether or not a user is *automatically logged-in* on the app when logged-in on the YunoHost portal. -disk = "50M" # FIXME: replace with an **estimate** minimum disk requirement. e.g. 20M, 400M, 1G, ... -ram.build = "50M" # FIXME: replace with an **estimate** minimum ram requirement. e.g. 50M, 400M, 1G, ... -ram.runtime = "50M" # FIXME: replace with an **estimate** minimum ram requirement. e.g. 50M, 400M, 1G, ... +ldap = false +sso = false +disk = "50M" +ram.runtime = "50M" [install] [install.domain] - # this is a generic question - ask strings are automatically handled by Yunohost's core type = "domain" - full_domain = true [install.init_main_permission] type = "group" default = "visitors" [install.admin] - # this is a generic question - ask strings are automatically handled by Yunohost's core type = "user" [install.password] - # this is a generic question - ask strings are automatically handled by Yunohost's core type = "password" [install.invitation] @@ -53,6 +46,7 @@ ram.runtime = "50M" # FIXME: replace with an **estimate** minimum ram requiremen url = "https://codeload.github.com/huginn/huginn/tar.gz/c68274384cc7e7d2ab24ef70e5280bcbd5ca57c6" sha256 = "5794a7a1b230ebac01b3d409eb40d90f68c1646e4f042777134499c68315f72e" + [resources.ports] [resources.system_user] @@ -61,5 +55,8 @@ ram.runtime = "50M" # FIXME: replace with an **estimate** minimum ram requiremen [resources.permissions] main.url = "/" + [resources.apt] + packages = "default-libmysqlclient-dev, libyaml-dev, libgdbm-dev, libncurses5-dev, libffi-dev, libcurl4-openssl-dev, libicu-dev, python3-docutils, pkg-config, cmake, graphviz, jq" + [resources.database] type = "mysql" diff --git a/scripts/_common.sh b/scripts/_common.sh index 1c0627d..351382b 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -4,10 +4,6 @@ # COMMON VARIABLES #================================================= -# dependencies used by the app -#REMOVEME? pkg_dependencies="" -#REMOVEME? build_pkg_dependencies="default-libmysqlclient-dev libyaml-dev libgdbm-dev libncurses5-dev libffi-dev libcurl4-openssl-dev libicu-dev python3-docutils pkg-config cmake nodejs graphviz jq" - ruby_version=2.6 #================================================= diff --git a/scripts/change_url b/scripts/change_url index 3931141..714b39d 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -9,68 +9,6 @@ source _common.sh source /usr/share/yunohost/helpers -#================================================= -# RETRIEVE ARGUMENTS -#================================================= - -#REMOVEME? old_domain=$YNH_APP_OLD_DOMAIN -#REMOVEME? old_path=$YNH_APP_OLD_PATH - -#REMOVEME? new_domain=$YNH_APP_NEW_DOMAIN -#REMOVEME? new_path="/" - -#REMOVEME? app=$YNH_APP_INSTANCE_NAME - -#================================================= -# LOAD SETTINGS -#================================================= -#REMOVEME? ynh_script_progression --message="Loading installation settings..." - -#REMOVEME? # Needed for helper "ynh_add_nginx_config" -#REMOVEME? #REMOVEME? install_dir=$(ynh_app_setting_get --app=$app --key=install_dir) - -# Add settings here as needed by your application -#REMOVEME? db_name=$(ynh_app_setting_get --app=$app --key=db_name) -#REMOVEME? db_user=$db_name -#REMOVEME? db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) -#REMOVEME? port=$(ynh_app_setting_get --app=$app --key=port) -#REMOVEME? secret=$(ynh_app_setting_get --app=$app --key=secret) -#REMOVEME? invitation=$(ynh_app_setting_get --app=$app --key=invitation) - -#================================================= -# BACKUP BEFORE CHANGE URL THEN ACTIVE TRAP -#================================================= -#REMOVEME? ynh_script_progression --message="Backing up the app before changing its URL (may take a while)..." - -# Backup the current version of the app -#REMOVEME? ynh_backup_before_upgrade -#REMOVEME? ynh_clean_setup () { - #REMOVEME? ynh_clean_check_starting - # Remove the new domain config file, the remove script won't do it as it doesn't know yet its location. -#REMOVEME? ynh_secure_remove --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" - - # Restore it if the upgrade fails -#REMOVEME? ynh_restore_upgradebackup -} -# Exit if an error occurs during the execution of the script -#REMOVEME? ynh_abort_if_errors - -#================================================= -# CHECK WHICH PARTS SHOULD BE CHANGED -#================================================= - -#REMOVEME? change_domain=0 -#REMOVEME? if [ "$old_domain" != "$new_domain" ] -then - #REMOVEME? change_domain=1 -fi - -#REMOVEME? change_path=0 -#REMOVEME? if [ "$old_path" != "$new_path" ] -then - #REMOVEME? change_path=1 -fi - #================================================= # STANDARD MODIFICATIONS #================================================= @@ -88,39 +26,15 @@ ynh_script_progression --message="Updating NGINX web server configuration..." ynh_change_url_nginx_config -#REMOVEME? nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf - -# Change the path in the NGINX config file -if [ $change_path -eq 1 ] -then - # Make a backup of the original NGINX config file if modified -#REMOVEME? ynh_backup_if_checksum_is_different --file="$nginx_conf_path" - # Set global variables for NGINX helper -#REMOVEME? domain="$old_domain" -#REMOVEME? path="$new_path" - # Create a dedicated NGINX config -#REMOVEME? ynh_add_nginx_config -fi - -# Change the domain for NGINX -if [ $change_domain -eq 1 ] -then - # Delete file checksum for the old conf file location -#REMOVEME? ynh_delete_file_checksum --file="$nginx_conf_path" -#REMOVEME? mv $nginx_conf_path /etc/nginx/conf.d/$new_domain.d/$app.conf - # Store file checksum for the new config file location -#REMOVEME? ynh_store_file_checksum --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" -fi - #================================================= # SPECIFIC MODIFICATIONS #================================================= # UPDATE A CONFIG FILE #================================================= ynh_script_progression --message="Updating a configuration file..." -#REMOVEME? -domain=$new_domain -path=$new_path + +#domain=$new_domain +#path=$new_path ynh_add_config --template="../conf/.env.example" --destination="$install_dir/.env" chmod 400 "$install_dir/.env" @@ -137,13 +51,6 @@ ynh_script_progression --message="Starting a systemd service..." ynh_systemd_action --service_name="$app-web" --action="start" --log_path="/var/log/$app/$app-web.log" --line_match="listening on addr" ynh_systemd_action --service_name="$app-jobs" --action="start" --log_path="$install_dir/log/huginn-jobs.log" --line_match="listening on addr" -#================================================= -# RELOAD NGINX -#================================================= -#REMOVEME? ynh_script_progression --message="Reloading NGINX web server..." - -#REMOVEME? #REMOVEME? ynh_systemd_action --service_name=nginx --action=reload - #================================================= # END OF SCRIPT #================================================= diff --git a/scripts/install b/scripts/install index a0216ff..6ebd44a 100755 --- a/scripts/install +++ b/scripts/install @@ -10,102 +10,31 @@ source _common.sh source ynh_install_ruby__2 source /usr/share/yunohost/helpers -#================================================= -# MANAGE SCRIPT FAILURE -#================================================= - -#REMOVEME? ynh_clean_setup () { - ynh_clean_check_starting -} -# Exit if an error occurs during the execution of the script -#REMOVEME? ynh_abort_if_errors - #================================================= # RETRIEVE ARGUMENTS FROM THE MANIFEST #================================================= -#REMOVEME? domain=$YNH_APP_ARG_DOMAIN -path="/" -#REMOVEME? is_public=$YNH_APP_ARG_IS_PUBLIC -#REMOVEME? admin=$YNH_APP_ARG_ADMIN -#REMOVEME? password=$YNH_APP_ARG_PASSWORD -#REMOVEME? invitation=$YNH_APP_ARG_INVITATION - -#REMOVEME? app=$YNH_APP_INSTANCE_NAME - secret=$(ynh_string_random --length=16) -#================================================= -# CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS -#================================================= -#REMOVEME? ynh_script_progression --message="Validating installation parameters..." - -#REMOVEME? install_dir=/var/www/$app -#REMOVEME? test ! -e "$install_dir" || ynh_die --message="This path already contains a folder" - -# Register (book) web path -#REMOVEME? ynh_webpath_register --app=$app --domain=$domain --path=$path - -#================================================= -# STORE SETTINGS FROM MANIFEST -#================================================= -#REMOVEME? ynh_script_progression --message="Storing installation settings..." - -#REMOVEME? ynh_app_setting_set --app=$app --key=domain --value=$domain -#REMOVEME? ynh_app_setting_set --app=$app --key=path --value=$path -#REMOVEME? ynh_app_setting_set --app=$app --key=admin --value=$admin -ynh_app_setting_set --app=$app --key=invitation --value=$invitation ynh_app_setting_set --app=$app --key=secret --value=$secret -#================================================= -# STANDARD MODIFICATIONS -#================================================= -# FIND AND OPEN A PORT -#================================================= -#REMOVEME? ynh_script_progression --message="Finding an available port..." - -# Find an available port -#REMOVEME? port=$(ynh_find_port --port=8095) -#REMOVEME? ynh_app_setting_set --app=$app --key=port --value=$port - #================================================= # INSTALL DEPENDENCIES #================================================= -#REMOVEME? ynh_script_progression --message="Installing dependencies..." +ynh_script_progression --message="Installing dependencies..." -#REMOVEME? ynh_install_app_dependencies $pkg_dependencies $build_pkg_dependencies ynh_install_ruby --ruby_version=$ruby_version -#================================================= -# CREATE DEDICATED USER -#================================================= -#REMOVEME? ynh_script_progression --message="Configuring system user..." - -# Create a system user -#REMOVEME? ynh_system_user_create --username=$app --home_dir="$install_dir" - -#================================================= -# CREATE A MYSQL DATABASE -#================================================= -#REMOVEME? ynh_script_progression --message="Creating a MySQL database..." - -#REMOVEME? db_name=$(ynh_sanitize_dbid --db_name=$app) -#REMOVEME? db_user=$db_name -#REMOVEME? ynh_app_setting_set --app=$app --key=db_name --value=$db_name -#REMOVEME? ynh_mysql_setup_db --db_user=$db_user --db_name=$db_name - #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= ynh_script_progression --message="Setting up source files..." -#REMOVEME? ynh_app_setting_set --app=$app --key=install_dir --value=$install_dir # Download, check integrity, uncompress and patch the source from app.src ynh_setup_source --dest_dir="$install_dir" mkdir -p "$install_dir/log" "$install_dir/tmp/pids" "$install_dir/tmp/sockets" -chmod 750 "$install_dir" chmod -R o-rwx "$install_dir" chown -R $app:www-data "$install_dir" @@ -149,8 +78,6 @@ pushd $install_dir ynh_exec_warn_less bundle exec rake assets:precompile RAILS_ENV=production popd -#REMOVEME? ynh_install_app_dependencies $pkg_dependencies - chmod 750 "$install_dir/public" chmod -R o-rwx "$install_dir/public" chown -R $app:www-data "$install_dir/public" @@ -183,26 +110,6 @@ ynh_script_progression --message="Starting a systemd service..." ynh_systemd_action --service_name="$app-web" --action="start" --log_path="$install_dir/log/unicorn.log" --line_match="listening on addr" ynh_systemd_action --service_name="$app-jobs" --action="start" --log_path="$install_dir/log/huginn-jobs.log" --line_match="Starting" -#================================================= -# SETUP SSOWAT -#================================================= -#REMOVEME? ynh_script_progression --message="Configuring permissions..." - -# Make app public if necessary -#REMOVEME? if [ $is_public -eq 1 ] -then - # Everyone can access the app. - # The "main" permission is automatically created before the install script. -#REMOVEME? ynh_permission_update --permission="main" --add="visitors" -fi - -#================================================= -# RELOAD NGINX -#================================================= -#REMOVEME? ynh_script_progression --message="Reloading NGINX web server..." - -#REMOVEME? ynh_systemd_action --service_name=nginx --action=reload - #================================================= # END OF SCRIPT #================================================= diff --git a/scripts/remove b/scripts/remove index 922f1f9..de77921 100755 --- a/scripts/remove +++ b/scripts/remove @@ -10,19 +10,6 @@ source _common.sh source ynh_install_ruby__2 source /usr/share/yunohost/helpers -#================================================= -# LOAD SETTINGS -#================================================= -#REMOVEME? ynh_script_progression --message="Loading installation settings..." - -#REMOVEME? app=$YNH_APP_INSTANCE_NAME - -#REMOVEME? domain=$(ynh_app_setting_get --app=$app --key=domain) -#REMOVEME? port=$(ynh_app_setting_get --app=$app --key=port) -#REMOVEME? db_name=$(ynh_app_setting_get --app=$app --key=db_name) -#REMOVEME? db_user=$db_name -#REMOVEME? #REMOVEME? install_dir=$(ynh_app_setting_get --app=$app --key=install_dir) - #================================================= # STANDARD REMOVE #================================================= @@ -50,22 +37,6 @@ ynh_script_progression --message="Stopping and removing the systemd service..." ynh_remove_systemd_config --service="$app-web" ynh_remove_systemd_config --service="$app-jobs" -#================================================= -# REMOVE THE MYSQL DATABASE -#================================================= -#REMOVEME? ynh_script_progression --message="Removing the MySQL database..." - -# Remove a database if it exists, along with the associated user -#REMOVEME? ynh_mysql_remove_db --db_user=$db_user --db_name=$db_name - -#================================================= -# REMOVE APP MAIN DIR -#================================================= -#REMOVEME? ynh_script_progression --message="Removing app main directory..." - -# Remove the app directory securely -#REMOVEME? ynh_secure_remove --file="$install_dir" - #================================================= # REMOVE NGINX CONFIGURATION #================================================= @@ -74,31 +45,8 @@ ynh_script_progression --message="Removing NGINX web server configuration..." # Remove the dedicated NGINX config ynh_remove_nginx_config -#================================================= -# REMOVE DEPENDENCIES -#================================================= -#REMOVEME? ynh_script_progression --message="Removing dependencies..." - # Remove metapackage and its dependencies ynh_remove_ruby -#REMOVEME? ynh_remove_app_dependencies - -#================================================= -# SPECIFIC REMOVE -#================================================= -# REMOVE VARIOUS FILES -#================================================= -ynh_script_progression --message="Removing various files..." - -#================================================= -# GENERIC FINALIZATION -#================================================= -# REMOVE DEDICATED USER -#================================================= -#REMOVEME? ynh_script_progression --message="Removing the dedicated system user..." - -# Delete a system user -#REMOVEME? ynh_system_user_delete --username=$app #================================================= # END OF SCRIPT diff --git a/scripts/restore b/scripts/restore index 240e15f..7fe1ba2 100644 --- a/scripts/restore +++ b/scripts/restore @@ -11,37 +11,6 @@ source ../settings/scripts/_common.sh source ../settings/scripts/ynh_install_ruby__2 source /usr/share/yunohost/helpers -#================================================= -# MANAGE SCRIPT FAILURE -#================================================= - -#REMOVEME? ynh_clean_setup () { - ynh_clean_check_starting -} -# Exit if an error occurs during the execution of the script -#REMOVEME? ynh_abort_if_errors - -#================================================= -# LOAD SETTINGS -#================================================= -#REMOVEME? ynh_script_progression --message="Loading installation settings..." - -#REMOVEME? app=$YNH_APP_INSTANCE_NAME - -#REMOVEME? domain=$(ynh_app_setting_get --app=$app --key=domain) -#REMOVEME? path=$(ynh_app_setting_get --app=$app --key=path) -#REMOVEME? #REMOVEME? install_dir=$(ynh_app_setting_get --app=$app --key=install_dir) -#REMOVEME? db_name=$(ynh_app_setting_get --app=$app --key=db_name) -#REMOVEME? db_user=$db_name - -#================================================= -# CHECK IF THE APP CAN BE RESTORED -#================================================= -#REMOVEME? ynh_script_progression --message="Validating restoration parameters..." - -#REMOVEME? test ! -d $install_dir \ - || ynh_die --message="There is already a directory: $install_dir " - #================================================= # STANDARD RESTORATION STEPS #================================================= @@ -51,14 +20,6 @@ ynh_script_progression --message="Restoring the NGINX web server configuration.. ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" -#================================================= -# RECREATE THE DEDICATED USER -#================================================= -#REMOVEME? ynh_script_progression --message="Recreating the dedicated system user..." - -# Create the dedicated user (if not existing) -#REMOVEME? ynh_system_user_create --username=$app --home_dir="$install_dir" - #================================================= # RESTORE THE APP MAIN DIR #================================================= @@ -68,7 +29,6 @@ ynh_restore_file --origin_path="$install_dir" mkdir -p "$install_dir/log" "$install_dir/tmp/pids" "$install_dir/tmp/sockets" -chmod 750 "$install_dir" chmod -R o-rwx "$install_dir" chown -R $app:www-data "$install_dir" @@ -77,19 +37,15 @@ chown -R $app:www-data "$install_dir" #================================================= # REINSTALL DEPENDENCIES #================================================= -#REMOVEME? ynh_script_progression --message="Reinstalling dependencies..." +ynh_script_progression --message="Reinstalling dependencies..." -# Define and install dependencies -#REMOVEME? ynh_install_app_dependencies $pkg_dependencies $build_pkg_dependencies ynh_install_ruby --ruby_version=$ruby_version #================================================= # RESTORE THE MYSQL DATABASE #================================================= -#REMOVEME? ynh_script_progression --message="Restoring the MySQL database..." +ynh_script_progression --message="Restoring the MySQL database..." -#REMOVEME? db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) -#REMOVEME? ynh_mysql_setup_db --db_user=$db_user --db_name=$db_name --db_pwd=$db_pwd ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < ./db.sql #================================================= @@ -107,8 +63,6 @@ pushd $install_dir ynh_exec_warn_less bundle exec rake assets:clean assets:precompile tmp:cache:clear RAILS_ENV=production popd -#REMOVEME? ynh_install_app_dependencies $pkg_dependencies - chmod 750 "$install_dir/public" chmod -R o-rwx "$install_dir/public" chown -R $app:www-data "$install_dir/public" @@ -120,6 +74,7 @@ ynh_script_progression --message="Restoring the systemd configuration..." ynh_restore_file --origin_path="/etc/systemd/system/$app-web.service" systemctl enable $app-web.service --quiet + ynh_restore_file --origin_path="/etc/systemd/system/$app-jobs.service" systemctl enable $app-jobs.service --quiet diff --git a/scripts/upgrade b/scripts/upgrade index 8eb5589..ad49caf 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -10,46 +10,12 @@ source _common.sh source ynh_install_ruby__2 source /usr/share/yunohost/helpers -#================================================= -# LOAD SETTINGS -#================================================= -#REMOVEME? ynh_script_progression --message="Loading installation settings..." - -#REMOVEME? app=$YNH_APP_INSTANCE_NAME - -#REMOVEME? domain=$(ynh_app_setting_get --app=$app --key=domain) -#REMOVEME? path=$(ynh_app_setting_get --app=$app --key=path) -#REMOVEME? admin=$(ynh_app_setting_get --app=$app --key=admin) -#REMOVEME? #REMOVEME? install_dir=$(ynh_app_setting_get --app=$app --key=install_dir) -#REMOVEME? db_name=$(ynh_app_setting_get --app=$app --key=db_name) -#REMOVEME? db_user=$db_name -#REMOVEME? db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) -#REMOVEME? port=$(ynh_app_setting_get --app=$app --key=port) -#REMOVEME? secret=$(ynh_app_setting_get --app=$app --key=secret) -#REMOVEME? invitation=$(ynh_app_setting_get --app=$app --key=invitation) - #================================================= # CHECK VERSION #================================================= -ynh_script_progression --message="Checking version..." upgrade_type=$(ynh_check_app_version_changed) -#================================================= -# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP -#================================================= -#REMOVEME? ynh_script_progression --message="Backing up the app before upgrading (may take a while)..." - -# Backup the current version of the app -#REMOVEME? ynh_backup_before_upgrade -#REMOVEME? ynh_clean_setup () { - ynh_clean_check_starting - # Restore it if the upgrade fails -#REMOVEME? ynh_restore_upgradebackup -} -# Exit if an error occurs during the execution of the script -#REMOVEME? ynh_abort_if_errors - #================================================= # STANDARD UPGRADE STEPS #================================================= @@ -60,26 +26,6 @@ ynh_script_progression --message="Stopping a systemd service..." ynh_systemd_action --service_name=$app-web --action="stop" --log_path="/var/log/$app/$app.log" ynh_systemd_action --service_name=$app-jobs --action="stop" --log_path="/var/log/$app/$app.log" -#================================================= -# ENSURE DOWNWARD COMPATIBILITY -#================================================= -ynh_script_progression --message="Ensuring downward compatibility..." - -# Cleaning legacy permissions -#REMOVEME? if ynh_legacy_permissions_exists; then -#REMOVEME? ynh_legacy_permissions_delete_all - - ynh_app_setting_delete --app=$app --key=is_public -fi - -#================================================= -# CREATE DEDICATED USER -#================================================= -#REMOVEME? ynh_script_progression --message="Making sure dedicated system user exists..." - -# Create a dedicated user (if not existing) -#REMOVEME? ynh_system_user_create --username=$app --home_dir="$install_dir" - #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= @@ -93,7 +39,6 @@ then mkdir -p "$install_dir/log" "$install_dir/tmp/pids" "$install_dir/tmp/sockets" fi -chmod 750 "$install_dir" chmod -R o-rwx "$install_dir" chown -R $app:www-data "$install_dir" @@ -105,12 +50,6 @@ ynh_script_progression --message="Upgrading NGINX web server configuration..." # Create a dedicated NGINX config ynh_add_nginx_config -#================================================= -# UPGRADE DEPENDENCIES -#================================================= -#REMOVEME? ynh_script_progression --message="Upgrading dependencies..." - -#REMOVEME? ynh_install_app_dependencies $pkg_dependencies $build_pkg_dependencies ynh_install_ruby --ruby_version=$ruby_version #================================================= @@ -143,8 +82,6 @@ pushd $install_dir ynh_exec_warn_less bundle exec rake assets:clean assets:precompile tmp:cache:clear RAILS_ENV=production popd -#REMOVEME? ynh_install_app_dependencies $pkg_dependencies - chmod 750 "$install_dir/public" chmod -R o-rwx "$install_dir/public" chown -R $app:www-data "$install_dir/public" @@ -177,13 +114,6 @@ ynh_script_progression --message="Starting a systemd service..." ynh_systemd_action --service_name="$app-web" --action="start" --log_path="$install_dir/log/unicorn.log" --line_match="listening on addr" ynh_systemd_action --service_name="$app-jobs" --action="start" --log_path="$install_dir/log/huginn-jobs.log" --line_match="Starting" -#================================================= -# RELOAD NGINX -#================================================= -#REMOVEME? ynh_script_progression --message="Reloading NGINX web server..." - -#REMOVEME? ynh_systemd_action --service_name=nginx --action=reload - #================================================= # END OF SCRIPT #================================================= diff --git a/tests.toml b/tests.toml new file mode 100644 index 0000000..dc2e1f4 --- /dev/null +++ b/tests.toml @@ -0,0 +1,9 @@ +test_format = 1.0 + +[default] + + # ------------------------------- + # Default args to use for install + # ------------------------------- + + args.invitation = "invitationcode" \ No newline at end of file From f81743c6067ce7d687fc6661ad16520629aa6682 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Thu, 28 Sep 2023 22:32:25 +0200 Subject: [PATCH 04/29] Update backup --- scripts/backup | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/scripts/backup b/scripts/backup index fd4055c..e693e86 100644 --- a/scripts/backup +++ b/scripts/backup @@ -10,27 +10,6 @@ source ../settings/scripts/_common.sh source /usr/share/yunohost/helpers -#================================================= -# MANAGE SCRIPT FAILURE -#================================================= - -#REMOVEME? ynh_clean_setup () { - true -} -# Exit if an error occurs during the execution of the script -#REMOVEME? ynh_abort_if_errors - -#================================================= -# LOAD SETTINGS -#================================================= -#REMOVEME? ynh_print_info --message="Loading installation settings..." - -#REMOVEME? app=$YNH_APP_INSTANCE_NAME - -#REMOVEME? #REMOVEME? install_dir=$(ynh_app_setting_get --app=$app --key=install_dir) -#REMOVEME? domain=$(ynh_app_setting_get --app=$app --key=domain) -#REMOVEME? db_name=$(ynh_app_setting_get --app=$app --key=db_name) - #================================================= # DECLARE DATA AND CONF FILES TO BACKUP #================================================= From f47088754831ffd44cdfef59ec8a050d45f3a3f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Thu, 28 Sep 2023 22:36:20 +0200 Subject: [PATCH 05/29] cleaning --- check_process | 24 --------------------- manifest.json | 58 --------------------------------------------------- manifest.toml | 7 ++++--- 3 files changed, 4 insertions(+), 85 deletions(-) delete mode 100644 check_process delete mode 100644 manifest.json diff --git a/check_process b/check_process deleted file mode 100644 index 794499f..0000000 --- a/check_process +++ /dev/null @@ -1,24 +0,0 @@ -;; Test complet - ; Manifest - domain="domain.tld" - is_public=1 - admin="john" - password="1Strong-Password" - invitation="invitationcode" - ; Checks - pkg_linter=1 - setup_sub_dir=0 - setup_root=1 - setup_nourl=0 - setup_private=1 - setup_public=1 - upgrade=1 - # 2022.03.24~ynh1 - upgrade=1 from_commit=a91277b139619ac194956c997f77a52172a822d3 - backup_restore=1 - multi_instance=1 - port_already_use=0 - change_url=1 -;;; Options -Email= -Notification=none diff --git a/manifest.json b/manifest.json deleted file mode 100644 index 6d632fb..0000000 --- a/manifest.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "name": "Huginn", - "id": "huginn", - "packaging_format": 1, - "description": { - "en": " Build agents that monitor and act on your behalf" - }, - "version": "2022.03.24~ynh3", - "url": "https://github.com/huginn/hugin", - "upstream": { - "license": "MIT", - "code": "https://github.com/huginn/huginn" - }, - "license": "MIT", - "maintainer": { - "name": "aurel", - "email": "aurel@grudu.ovh", - "url": "https://github.com/onde2rock/huginn_ynh" - }, - "requirements": { - "yunohost": ">= 11.0.9" - }, - "multi_instance": true, - "services": [ - "nginx", - "php7.3-fpm", - "mysql" - ], - "arguments": { - "install": [ - { - "name": "domain", - "type": "domain" - }, - { - "name": "is_public", - "type": "boolean", - "default": true - }, - { - "name": "admin", - "type": "user" - }, - { - "name": "password", - "type": "password" - }, - { - "name": "invitation", - "type": "string", - "ask": { - "en": "Choose an invitation code for new users" - }, - "example": "invitationcode" - } - ] - } -} diff --git a/manifest.toml b/manifest.toml index c3f07c4..3c95e6c 100644 --- a/manifest.toml +++ b/manifest.toml @@ -5,7 +5,7 @@ name = "Huginn" description.en = "Build agents that monitor and act on your behalf" description.fr = "Build agents that monitor and act on your behalf" -version = "2022.03.24~ynh3" +version = "2022.08.18~ynh1" maintainers = ["aurel"] @@ -43,8 +43,9 @@ ram.runtime = "50M" [resources] [resources.sources.main] - url = "https://codeload.github.com/huginn/huginn/tar.gz/c68274384cc7e7d2ab24ef70e5280bcbd5ca57c6" - sha256 = "5794a7a1b230ebac01b3d409eb40d90f68c1646e4f042777134499c68315f72e" + url = "https://github.com/huginn/huginn/archive/refs/tags/v2022.08.18.tar.gz" + sha256 = "845042042089a35c274bef41fc498cfd23733d923ab3772f4311212b42b356d9" + autoupdate.strategy = "latest_github_tag" [resources.ports] From 5728b3e66d2532bff2b6ae148a11f90f4b0ad66f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Thu, 28 Sep 2023 22:39:15 +0200 Subject: [PATCH 06/29] Update manifest.toml --- manifest.toml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/manifest.toml b/manifest.toml index 3c95e6c..96249bd 100644 --- a/manifest.toml +++ b/manifest.toml @@ -11,7 +11,7 @@ maintainers = ["aurel"] [upstream] license = "MIT" -website = "https://github.com/huginn/hugin" +code = "https://github.com/huginn/hugin" [integration] yunohost = ">= 11.2" @@ -20,6 +20,7 @@ multi_instance = true ldap = false sso = false disk = "50M" +ram.build = "50M" ram.runtime = "50M" [install] @@ -57,7 +58,7 @@ ram.runtime = "50M" main.url = "/" [resources.apt] - packages = "default-libmysqlclient-dev, libyaml-dev, libgdbm-dev, libncurses5-dev, libffi-dev, libcurl4-openssl-dev, libicu-dev, python3-docutils, pkg-config, cmake, graphviz, jq" + packages = "mariadb-server, default-libmysqlclient-dev, libyaml-dev, libgdbm-dev, libncurses5-dev, libffi-dev, libcurl4-openssl-dev, libicu-dev, python3-docutils, pkg-config, cmake, graphviz, jq" [resources.database] type = "mysql" From 1aaa2c04b4c017642c249b55d500956433620e2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Sat, 28 Oct 2023 18:07:06 +0200 Subject: [PATCH 07/29] Update manifest.toml --- manifest.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.toml b/manifest.toml index 96249bd..3d10593 100644 --- a/manifest.toml +++ b/manifest.toml @@ -11,7 +11,7 @@ maintainers = ["aurel"] [upstream] license = "MIT" -code = "https://github.com/huginn/hugin" +code = "https://github.com/huginn/huginn" [integration] yunohost = ">= 11.2" From 184f6b18f343a6e6635f2cc216f1eaa5a85bc0e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Sat, 28 Oct 2023 18:09:25 +0200 Subject: [PATCH 08/29] Update _common.sh --- scripts/_common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index 351382b..c381f84 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -4,7 +4,7 @@ # COMMON VARIABLES #================================================= -ruby_version=2.6 +ruby_version=2.3 #================================================= # PERSONAL HELPERS From 803b934be3f02a65ec0353f9c95469e0fb2d155e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Sat, 28 Oct 2023 18:10:00 +0200 Subject: [PATCH 09/29] fix --- scripts/change_url | 2 +- scripts/install | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/change_url b/scripts/change_url index 714b39d..e0595d9 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -35,7 +35,7 @@ ynh_script_progression --message="Updating a configuration file..." #domain=$new_domain #path=$new_path -ynh_add_config --template="../conf/.env.example" --destination="$install_dir/.env" +ynh_add_config --template=".env.example" --destination="$install_dir/.env" chmod 400 "$install_dir/.env" chown $app:$app "$install_dir/.env" diff --git a/scripts/install b/scripts/install index 6ebd44a..78352b7 100755 --- a/scripts/install +++ b/scripts/install @@ -53,7 +53,7 @@ ynh_add_nginx_config #================================================= ynh_script_progression --message="Adding a configuration file..." -ynh_add_config --template="../conf/.env.example" --destination="$install_dir/.env" +ynh_add_config --template=".env.example" --destination="$install_dir/.env" chmod 400 "$install_dir/.env" chown $app:$app "$install_dir/.env" From b4e887c06b68c86e9e63908074ac2f540ab4bae1 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin <4533074+alexAubin@users.noreply.github.com> Date: Mon, 4 Dec 2023 20:44:11 +0100 Subject: [PATCH 10/29] Update ynh_install_ruby__2: let's add --debug in the hope that maybe some clue will be given instead of silently failing ... --- scripts/ynh_install_ruby__2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/ynh_install_ruby__2 b/scripts/ynh_install_ruby__2 index 58a3135..8aae385 100644 --- a/scripts/ynh_install_ruby__2 +++ b/scripts/ynh_install_ruby__2 @@ -215,7 +215,7 @@ ynh_install_ruby () { final_ruby_version=$ruby_version fi ynh_print_info --message="Installing Ruby-$final_ruby_version" - CONFIGURE_OPTS="--disable-install-doc --with-jemalloc" MAKE_OPTS="-j2" rbenv install --skip-existing $final_ruby_version > /dev/null 2>&1 + CONFIGURE_OPTS="--disable-install-doc --with-jemalloc" MAKE_OPTS="-j2" rbenv install --debug --skip-existing $final_ruby_version > /dev/null 2>&1 # Store ruby_version into the config of this app ynh_app_setting_set --app=$YNH_APP_INSTANCE_NAME --key=ruby_version --value=$final_ruby_version From 0a239ab6aa79eae02e33a42ced8c1328bb982d25 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Fri, 23 Feb 2024 19:21:13 +0000 Subject: [PATCH 11/29] Auto-update README --- README.md | 6 +++--- README_fr.md | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index e205150..00697f9 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ @@ -18,7 +18,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Huginn is a system for building agents that perform automated tasks for you online. They can read the web, watch for events, and take actions on your behalf. Huginn's Agents create and consume events, propagating them along a directed graph. Think of it as a hackable version of IFTTT or Zapier on your own server. You always know who has your data. You do. -**Shipped version:** 2022.03.24~ynh3 +**Shipped version:** 2022.08.18~ynh1 ## Screenshots @@ -42,4 +42,4 @@ or sudo yunohost app upgrade huginn -u https://github.com/YunoHost-Apps/huginn_ynh/tree/testing --debug ``` -**More info regarding app packaging:** +**More info regarding app packaging:** \ No newline at end of file diff --git a/README_fr.md b/README_fr.md index aa6fe27..785c274 100644 --- a/README_fr.md +++ b/README_fr.md @@ -1,5 +1,5 @@ @@ -18,7 +18,7 @@ Si vous n’avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) po Huginn is a system for building agents that perform automated tasks for you online. They can read the web, watch for events, and take actions on your behalf. Huginn's Agents create and consume events, propagating them along a directed graph. Think of it as a hackable version of IFTTT or Zapier on your own server. You always know who has your data. You do. -**Version incluse :** 2022.03.24~ynh3 +**Version incluse :** 2022.08.18~ynh1 ## Captures d’écran From 6f36d2ba191022df7b1be554d12b920e2c2e5256 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Fri, 23 Feb 2024 20:24:58 +0100 Subject: [PATCH 12/29] Try to fix install --- manifest.toml | 25 ++++++++++++++++++++----- scripts/ynh_install_ruby__2 | 4 ++-- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/manifest.toml b/manifest.toml index 3d10593..37a3479 100644 --- a/manifest.toml +++ b/manifest.toml @@ -43,10 +43,10 @@ ram.runtime = "50M" example = "invitationcode" [resources] - [resources.sources.main] - url = "https://github.com/huginn/huginn/archive/refs/tags/v2022.08.18.tar.gz" - sha256 = "845042042089a35c274bef41fc498cfd23733d923ab3772f4311212b42b356d9" - autoupdate.strategy = "latest_github_tag" + [resources.sources.main] + url = "https://github.com/huginn/huginn/archive/refs/tags/v2022.08.18.tar.gz" + sha256 = "845042042089a35c274bef41fc498cfd23733d923ab3772f4311212b42b356d9" + autoupdate.strategy = "latest_github_release" [resources.ports] @@ -58,7 +58,22 @@ ram.runtime = "50M" main.url = "/" [resources.apt] - packages = "mariadb-server, default-libmysqlclient-dev, libyaml-dev, libgdbm-dev, libncurses5-dev, libffi-dev, libcurl4-openssl-dev, libicu-dev, python3-docutils, pkg-config, cmake, graphviz, jq" + packages = [ + "mariadb-server", + "default-libmysqlclient-dev", + "libyaml-dev", + "libgdbm-dev", + "libncurses5-dev", + "libjemalloc-dev", + "libffi-dev", + "libcurl4-openssl-dev", + "libicu-dev", + "python3-docutils", + "pkg-config", + "cmake", + "graphviz", + "jq", + ] [resources.database] type = "mysql" diff --git a/scripts/ynh_install_ruby__2 b/scripts/ynh_install_ruby__2 index 8aae385..b26e648 100644 --- a/scripts/ynh_install_ruby__2 +++ b/scripts/ynh_install_ruby__2 @@ -80,7 +80,7 @@ ynh_use_ruby () { ynh_ruby_load_path="PATH=$PATH" # Sets the local application-specific Ruby version - pushd $final_path + pushd $install_dir $rbenv_install_dir/bin/rbenv local $ruby_version popd } @@ -286,7 +286,7 @@ ynh_cleanup_ruby () { required_ruby_versions="${installed_app_ruby_version}\n${required_ruby_versions}" fi done - + # Remove no more needed Ruby versions local installed_ruby_versions=$(rbenv versions --bare --skip-aliases | grep -Ev '/') for installed_ruby_version in $installed_ruby_versions From 37e74a9cdf61717ba7b0140bb17ac2ba991bd491 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Fri, 23 Feb 2024 20:26:13 +0100 Subject: [PATCH 13/29] Add toml schemas --- manifest.toml | 2 ++ tests.toml | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/manifest.toml b/manifest.toml index 37a3479..4d73ef2 100644 --- a/manifest.toml +++ b/manifest.toml @@ -1,3 +1,5 @@ +#:schema https://raw.githubusercontent.com/YunoHost/apps/master/schemas/manifest.v2.schema.json + packaging_format = 2 id = "huginn" diff --git a/tests.toml b/tests.toml index dc2e1f4..aca06cc 100644 --- a/tests.toml +++ b/tests.toml @@ -1,3 +1,5 @@ +#:schema https://raw.githubusercontent.com/YunoHost/apps/master/schemas/tests.v1.schema.json + test_format = 1.0 [default] @@ -5,5 +7,5 @@ test_format = 1.0 # ------------------------------- # Default args to use for install # ------------------------------- - - args.invitation = "invitationcode" \ No newline at end of file + + args.invitation = "invitationcode" From 28171bd0c11500184f577f2fd0554a1d9a041a82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Fri, 23 Feb 2024 20:33:09 +0100 Subject: [PATCH 14/29] Apply template --- scripts/backup | 8 +----- scripts/change_url | 18 ++++-------- scripts/install | 39 +++++++++----------------- scripts/remove | 32 ++++++--------------- scripts/restore | 56 +++++++++++-------------------------- scripts/upgrade | 69 +++++++++++++++++----------------------------- 6 files changed, 71 insertions(+), 151 deletions(-) diff --git a/scripts/backup b/scripts/backup index e693e86..b32f7ce 100644 --- a/scripts/backup +++ b/scripts/backup @@ -22,17 +22,11 @@ ynh_print_info --message="Declaring files to be backed up..." ynh_backup --src_path="$install_dir" #================================================= -# BACKUP THE NGINX CONFIGURATION +# SYSTEM CONFIGURATION #================================================= ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" -#================================================= -# SPECIFIC BACKUP -#================================================= -# BACKUP SYSTEMD -#================================================= - ynh_backup --src_path="/etc/systemd/system/$app-web.service" ynh_backup --src_path="/etc/systemd/system/$app-jobs.service" diff --git a/scripts/change_url b/scripts/change_url index e0595d9..0051dcd 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -9,15 +9,13 @@ source _common.sh source /usr/share/yunohost/helpers -#================================================= -# STANDARD MODIFICATIONS #================================================= # STOP SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Stopping a systemd service..." +ynh_script_progression --message="Stopping $app's systemd service..." -ynh_systemd_action --service_name=$app-web --action="stop" --log_path="/var/log/$app/$app.log" -ynh_systemd_action --service_name=$app-jobs --action="stop" --log_path="/var/log/$app/$app.log" +ynh_systemd_action --service_name="$app-web" --action="stop" --log_path="/var/log/$app/$app.log" +ynh_systemd_action --service_name="$app-jobs" --action="stop" --log_path="/var/log/$app/$app.log" #================================================= # MODIFY URL IN NGINX CONF @@ -29,23 +27,19 @@ ynh_change_url_nginx_config #================================================= # SPECIFIC MODIFICATIONS #================================================= -# UPDATE A CONFIG FILE -#================================================= -ynh_script_progression --message="Updating a configuration file..." +ynh_script_progression --message="Updating $app's configuration file..." #domain=$new_domain #path=$new_path ynh_add_config --template=".env.example" --destination="$install_dir/.env" chmod 400 "$install_dir/.env" -chown $app:$app "$install_dir/.env" +chown "$app:$app" "$install_dir/.env" -#================================================= -# GENERIC FINALISATION #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting a systemd service..." +ynh_script_progression --message="Starting $app's systemd service..." # Start a systemd service ynh_systemd_action --service_name="$app-web" --action="start" --log_path="/var/log/$app/$app-web.log" --line_match="listening on addr" diff --git a/scripts/install b/scripts/install index 78352b7..6eb44a5 100755 --- a/scripts/install +++ b/scripts/install @@ -11,17 +11,17 @@ source ynh_install_ruby__2 source /usr/share/yunohost/helpers #================================================= -# RETRIEVE ARGUMENTS FROM THE MANIFEST +# INITIALIZE AND STORE SETTINGS #================================================= secret=$(ynh_string_random --length=16) -ynh_app_setting_set --app=$app --key=secret --value=$secret +ynh_app_setting_set --app="$app" --key="secret" --value="$secret" #================================================= # INSTALL DEPENDENCIES #================================================= -ynh_script_progression --message="Installing dependencies..." +ynh_script_progression --message="Installing Ruby..." ynh_install_ruby --ruby_version=$ruby_version @@ -36,34 +36,26 @@ ynh_setup_source --dest_dir="$install_dir" mkdir -p "$install_dir/log" "$install_dir/tmp/pids" "$install_dir/tmp/sockets" chmod -R o-rwx "$install_dir" -chown -R $app:www-data "$install_dir" - -#================================================= -# NGINX CONFIGURATION -#================================================= -ynh_script_progression --message="Configuring NGINX web server..." - -# Create a dedicated NGINX config -ynh_add_nginx_config +chown -R "$app:www-data" "$install_dir" #================================================= # SPECIFIC SETUP #================================================= # ADD A CONFIGURATION #================================================= -ynh_script_progression --message="Adding a configuration file..." +ynh_script_progression --message="Adding $app's configuration file..." ynh_add_config --template=".env.example" --destination="$install_dir/.env" chmod 400 "$install_dir/.env" -chown $app:$app "$install_dir/.env" +chown "$app:$app" "$install_dir/.env" #================================================= # BUILD APP #================================================= ynh_script_progression --message="Building app..." -pushd $install_dir +pushd "$install_dir" ynh_use_ruby cp config/unicorn.rb.example config/unicorn.rb chown -R $app:www-data "$install_dir/config/unicorn.rb" @@ -83,28 +75,23 @@ chmod -R o-rwx "$install_dir/public" chown -R $app:www-data "$install_dir/public" #================================================= -# SETUP SYSTEMD +# SYSTEM CONFIGURATION #================================================= -ynh_script_progression --message="Configuring a systemd service..." +ynh_script_progression --message="Adding system configurations related to $app..." --weight=1 + +# Create a dedicated NGINX config +ynh_add_nginx_config # Create a dedicated systemd config ynh_add_systemd_config --service="$app-web" --template="web.service" ynh_add_systemd_config --service="$app-jobs" --template="jobs.service" - -#================================================= -# GENERIC FINALIZATION -#================================================= -# INTEGRATE SERVICE IN YUNOHOST -#================================================= -ynh_script_progression --message="Integrating service in YunoHost..." - yunohost service add "$app-web" --log="$install_dir/log/unicorn.log" yunohost service add "$app-jobs" --log="$install_dir/log/production.log" #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting a systemd service..." +ynh_script_progression --message="Starting $app's systemd services..." # Start a systemd service ynh_systemd_action --service_name="$app-web" --action="start" --log_path="$install_dir/log/unicorn.log" --line_match="listening on addr" diff --git a/scripts/remove b/scripts/remove index de77921..b22478c 100755 --- a/scripts/remove +++ b/scripts/remove @@ -11,36 +11,22 @@ source ynh_install_ruby__2 source /usr/share/yunohost/helpers #================================================= -# STANDARD REMOVE -#================================================= -# REMOVE SERVICE INTEGRATION IN YUNOHOST +# REMOVE SYSTEM CONFIGURATIONS #================================================= +ynh_script_progression --message="Removing system configurations related to $app..." --weight=1 # Remove the service from the list of services known by YunoHost (added from `yunohost service add`) -if ynh_exec_warn_less yunohost service status "$app-web" >/dev/null -then - ynh_script_progression --message="Removing $app-web service integration..." - yunohost service remove "$app-web" +if ynh_exec_warn_less yunohost service status "$app-web" >/dev/null; then + yunohost service remove "$app-web" fi -if ynh_exec_warn_less yunohost service status "$app-jobs" >/dev/null -then - ynh_script_progression --message="Removing $app-jobs service integration..." - yunohost service remove "$app-jobs" -fi - -#================================================= -# STOP AND REMOVE SERVICE -#================================================= -ynh_script_progression --message="Stopping and removing the systemd service..." - # Remove the dedicated systemd config ynh_remove_systemd_config --service="$app-web" -ynh_remove_systemd_config --service="$app-jobs" -#================================================= -# REMOVE NGINX CONFIGURATION -#================================================= -ynh_script_progression --message="Removing NGINX web server configuration..." +if ynh_exec_warn_less yunohost service status "$app-jobs" >/dev/null; then + yunohost service remove "$app-jobs" +fi +# Remove the dedicated systemd config +ynh_remove_systemd_config --service="$app-jobs" # Remove the dedicated NGINX config ynh_remove_nginx_config diff --git a/scripts/restore b/scripts/restore index 7fe1ba2..8336f93 100644 --- a/scripts/restore +++ b/scripts/restore @@ -12,13 +12,11 @@ source ../settings/scripts/ynh_install_ruby__2 source /usr/share/yunohost/helpers #================================================= -# STANDARD RESTORATION STEPS +# REINSTALL DEPENDENCIES #================================================= -# RESTORE THE NGINX CONFIGURATION -#================================================= -ynh_script_progression --message="Restoring the NGINX web server configuration..." +ynh_script_progression --message="Reinstalling Ruby..." -ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" +ynh_install_ruby --ruby_version=$ruby_version #================================================= # RESTORE THE APP MAIN DIR @@ -27,33 +25,22 @@ ynh_script_progression --message="Restoring the app main directory..." ynh_restore_file --origin_path="$install_dir" -mkdir -p "$install_dir/log" "$install_dir/tmp/pids" "$install_dir/tmp/sockets" - chmod -R o-rwx "$install_dir" -chown -R $app:www-data "$install_dir" - -#================================================= -# SPECIFIC RESTORATION -#================================================= -# REINSTALL DEPENDENCIES -#================================================= -ynh_script_progression --message="Reinstalling dependencies..." - -ynh_install_ruby --ruby_version=$ruby_version +chown -R "$app:www-data" "$install_dir" #================================================= # RESTORE THE MYSQL DATABASE #================================================= -ynh_script_progression --message="Restoring the MySQL database..." +ynh_script_progression --message="Restoring the MySQL database..." --weight=1 -ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < ./db.sql +ynh_mysql_connect_as --user="$db_user" --password="$db_pwd" --database="$db_name" < ./db.sql #================================================= # BUILD APP #================================================= ynh_script_progression --message="Building app..." -pushd $install_dir +pushd "$install_dir" ynh_use_ruby ynh_gem update --system --no-document ynh_gem install rake bundler foreman --no-document @@ -65,43 +52,32 @@ popd chmod 750 "$install_dir/public" chmod -R o-rwx "$install_dir/public" -chown -R $app:www-data "$install_dir/public" +chown -R "$app:www-data" "$install_dir/public" #================================================= -# RESTORE SYSTEMD +# RESTORE SYSTEM CONFIGURATIONS #================================================= -ynh_script_progression --message="Restoring the systemd configuration..." +ynh_script_progression --message="Restoring system configurations related to $app..." --weight=1 + +ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" ynh_restore_file --origin_path="/etc/systemd/system/$app-web.service" -systemctl enable $app-web.service --quiet +systemctl enable "$app-web.service" --quiet +yunohost service add "$app-web" --log="$install_dir/log/unicorn.log" ynh_restore_file --origin_path="/etc/systemd/system/$app-jobs.service" -systemctl enable $app-jobs.service --quiet - -#================================================= -# INTEGRATE SERVICE IN YUNOHOST -#================================================= -ynh_script_progression --message="Integrating service in YunoHost..." - -yunohost service add "$app-web" --log="$install_dir/log/unicorn.log" +systemctl enable "$app-jobs.service" --quiet yunohost service add "$app-jobs" --log="$install_dir/log/production.log" #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting a systemd service..." +ynh_script_progression --message="Reloading NGINX web server and $app's service..." # Start a systemd service ynh_systemd_action --service_name="$app-web" --action="start" --log_path="$install_dir/log/unicorn.log" --line_match="listening on addr" ynh_systemd_action --service_name="$app-jobs" --action="start" --log_path="$install_dir/log/huginn-jobs.log" --line_match="Starting" -#================================================= -# GENERIC FINALIZATION -#================================================= -# RELOAD NGINX -#================================================= -ynh_script_progression --message="Reloading NGINX web server..." - ynh_systemd_action --service_name=nginx --action=reload #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index ad49caf..e0aec64 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -10,47 +10,34 @@ source _common.sh source ynh_install_ruby__2 source /usr/share/yunohost/helpers -#================================================= -# CHECK VERSION -#================================================= - -upgrade_type=$(ynh_check_app_version_changed) - #================================================= # STANDARD UPGRADE STEPS #================================================= # STOP SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Stopping a systemd service..." +ynh_script_progression --message="Stopping $app's systemd services..." -ynh_systemd_action --service_name=$app-web --action="stop" --log_path="/var/log/$app/$app.log" -ynh_systemd_action --service_name=$app-jobs --action="stop" --log_path="/var/log/$app/$app.log" +ynh_systemd_action --service_name="$app-web" --action="stop" --log_path="/var/log/$app/$app.log" +ynh_systemd_action --service_name="$app-jobs" --action="stop" --log_path="/var/log/$app/$app.log" + +#================================================= +# UPGRADE DEPENDENCIES +#================================================= +ynh_script_progression --message="Upgrading Ruby..." --weight=1 + +ynh_exec_warn_less ynh_install_ruby --ruby_version=$ruby_version #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= +ynh_script_progression --message="Upgrading source files..." -if [ "$upgrade_type" == "UPGRADE_APP" ] -then - ynh_script_progression --message="Upgrading source files..." - - # Download, check integrity, uncompress and patch the source from app.src - ynh_setup_source --dest_dir="$install_dir" --keep=".env" - mkdir -p "$install_dir/log" "$install_dir/tmp/pids" "$install_dir/tmp/sockets" -fi +# Download, check integrity, uncompress and patch the source from app.src +ynh_setup_source --dest_dir="$install_dir" --full_replace=1 --keep=".env" +mkdir -p "$install_dir/log" "$install_dir/tmp/pids" "$install_dir/tmp/sockets" chmod -R o-rwx "$install_dir" -chown -R $app:www-data "$install_dir" - -#================================================= -# NGINX CONFIGURATION -#================================================= -ynh_script_progression --message="Upgrading NGINX web server configuration..." - -# Create a dedicated NGINX config -ynh_add_nginx_config - -ynh_install_ruby --ruby_version=$ruby_version +chown -R "$app:www-data" "$install_dir" #================================================= # SPECIFIC UPGRADE @@ -62,7 +49,7 @@ ynh_script_progression --message="Updating a configuration file..." ynh_add_config --template="../conf/.env.example" --destination="$install_dir/.env" chmod 400 "$install_dir/.env" -chown $app:$app "$install_dir/.env" +chown "$app:$app" "$install_dir/.env" #================================================= # BUILD APP @@ -72,7 +59,7 @@ ynh_script_progression --message="Building app..." pushd $install_dir ynh_use_ruby cp -f config/unicorn.rb.example config/unicorn.rb - chown -R $app:www-data "$install_dir/config/unicorn.rb" + chown -R "$app:www-data" "$install_dir/config/unicorn.rb" ynh_gem update --system --no-document ynh_gem install rake bundler foreman --no-document bundle config set --local deployment 'true' @@ -84,31 +71,27 @@ popd chmod 750 "$install_dir/public" chmod -R o-rwx "$install_dir/public" -chown -R $app:www-data "$install_dir/public" +chown -R "$app:www-data" "$install_dir/public" #================================================= -# SETUP SYSTEMD +# REAPPLY SYSTEM CONFIGURATIONS #================================================= -ynh_script_progression --message="Upgrading systemd configuration..." +ynh_script_progression --message="Upgrading system configurations related to $app..." --weight=1 + +# Create a dedicated NGINX config +ynh_add_nginx_config # Create a dedicated systemd config ynh_add_systemd_config --service="$app-web" --template="web.service" -ynh_add_systemd_config --service="$app-jobs" --template="jobs.service" - -#================================================= -# GENERIC FINALIZATION -#================================================= -# INTEGRATE SERVICE IN YUNOHOST -#================================================= -ynh_script_progression --message="Integrating service in YunoHost..." - yunohost service add "$app-web" --log="$install_dir/log/unicorn.log" + +ynh_add_systemd_config --service="$app-jobs" --template="jobs.service" yunohost service add "$app-jobs" --log="$install_dir/log/production.log" #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting a systemd service..." +ynh_script_progression --message="Starting $app's systemd service..." # Start a systemd service ynh_systemd_action --service_name="$app-web" --action="start" --log_path="$install_dir/log/unicorn.log" --line_match="listening on addr" From d9438ae2cc53e81ad526010d8ee175620cc9f4e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Fri, 23 Feb 2024 20:46:52 +0100 Subject: [PATCH 15/29] Add openssl dep --- manifest.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/manifest.toml b/manifest.toml index 4d73ef2..f9cc00f 100644 --- a/manifest.toml +++ b/manifest.toml @@ -75,6 +75,7 @@ ram.runtime = "50M" "cmake", "graphviz", "jq", + "openssl", ] [resources.database] From 6a1b91d55b9d42946f1d1d6841c13305461f6b4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Fri, 23 Feb 2024 20:58:10 +0100 Subject: [PATCH 16/29] remove >/dev/null --- scripts/ynh_install_ruby__2 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/ynh_install_ruby__2 b/scripts/ynh_install_ruby__2 index b26e648..a4af3aa 100644 --- a/scripts/ynh_install_ruby__2 +++ b/scripts/ynh_install_ruby__2 @@ -215,7 +215,8 @@ ynh_install_ruby () { final_ruby_version=$ruby_version fi ynh_print_info --message="Installing Ruby-$final_ruby_version" - CONFIGURE_OPTS="--disable-install-doc --with-jemalloc" MAKE_OPTS="-j2" rbenv install --debug --skip-existing $final_ruby_version > /dev/null 2>&1 + CONFIGURE_OPTS="--disable-install-doc --with-jemalloc" MAKE_OPTS="-j2" rbenv install --debug --skip-existing $final_ruby_version + # > /dev/null 2>&1 # Store ruby_version into the config of this app ynh_app_setting_set --app=$YNH_APP_INSTANCE_NAME --key=ruby_version --value=$final_ruby_version From 9a1e3ce434c5e63a3b1573434aaa15bd48732d1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Fri, 23 Feb 2024 21:03:21 +0100 Subject: [PATCH 17/29] fix rbenv call --- scripts/ynh_install_ruby__2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/ynh_install_ruby__2 b/scripts/ynh_install_ruby__2 index a4af3aa..5cd3da7 100644 --- a/scripts/ynh_install_ruby__2 +++ b/scripts/ynh_install_ruby__2 @@ -215,7 +215,7 @@ ynh_install_ruby () { final_ruby_version=$ruby_version fi ynh_print_info --message="Installing Ruby-$final_ruby_version" - CONFIGURE_OPTS="--disable-install-doc --with-jemalloc" MAKE_OPTS="-j2" rbenv install --debug --skip-existing $final_ruby_version + CONFIGURE_OPTS="--disable-install-doc --with-jemalloc" MAKE_OPTS="-j2" rbenv install --skip-existing $final_ruby_version # > /dev/null 2>&1 # Store ruby_version into the config of this app From 17e3cefef0e119b09a66d2419d5531e66bacc179 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Fri, 23 Feb 2024 21:09:55 +0100 Subject: [PATCH 18/29] fix dependencies --- manifest.toml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/manifest.toml b/manifest.toml index f9cc00f..fa1c000 100644 --- a/manifest.toml +++ b/manifest.toml @@ -66,7 +66,6 @@ ram.runtime = "50M" "libyaml-dev", "libgdbm-dev", "libncurses5-dev", - "libjemalloc-dev", "libffi-dev", "libcurl4-openssl-dev", "libicu-dev", @@ -76,6 +75,20 @@ ram.runtime = "50M" "graphviz", "jq", "openssl", + + "autoconf", + "automake", + "bison", + "build-essential", + "curl", + "libjemalloc-dev", + "libreadline-dev", + "libsqlite3-dev", + "libssl-dev", + "libtool", + "libxml2-dev", + "libxslt-dev", + "zlib1g-dev", ] [resources.database] From bce63ecf5641bf9258fc5665edd94c298b230f65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Fri, 23 Feb 2024 21:37:38 +0100 Subject: [PATCH 19/29] Change ruby version --- scripts/_common.sh | 2 +- scripts/ynh_install_ruby__2 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index c381f84..1704b0d 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -4,7 +4,7 @@ # COMMON VARIABLES #================================================= -ruby_version=2.3 +ruby_version=2.7 #================================================= # PERSONAL HELPERS diff --git a/scripts/ynh_install_ruby__2 b/scripts/ynh_install_ruby__2 index 5cd3da7..d91a875 100644 --- a/scripts/ynh_install_ruby__2 +++ b/scripts/ynh_install_ruby__2 @@ -35,7 +35,7 @@ build_pkg_dependencies="$build_pkg_dependencies $build_ruby_dependencies" # However, $PATH is duplicated into $ruby_path to outlast any manipulation of $PATH # You can use the variable `$ynh_ruby_load_path` to quickly load your Ruby version # in $PATH for an usage into a separate script. -# Exemple: $ynh_ruby_load_path $final_path/script_that_use_gem.sh` +# Exemple: $ynh_ruby_load_path $install_dir/script_that_use_gem.sh` # # # Finally, to start a Ruby service with the correct version, 2 solutions From fe699cc3c3f5055d7fda7bf8ba880149a2cb2ebb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Fri, 23 Feb 2024 21:48:08 +0100 Subject: [PATCH 20/29] ruby 3.1 --- scripts/_common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index 1704b0d..6db2fc8 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -4,7 +4,7 @@ # COMMON VARIABLES #================================================= -ruby_version=2.7 +ruby_version=3.1 #================================================= # PERSONAL HELPERS From 9eaa74b140ca1c7fafd5a90be801b5cf2511edfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Fri, 23 Feb 2024 22:03:08 +0100 Subject: [PATCH 21/29] Ruby 2.7 --- scripts/_common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index 6db2fc8..1704b0d 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -4,7 +4,7 @@ # COMMON VARIABLES #================================================= -ruby_version=3.1 +ruby_version=2.7 #================================================= # PERSONAL HELPERS From 85ca3e2e23ebc8b3cb7b1eca8d09b5e2b4b6088a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Fri, 23 Feb 2024 22:46:39 +0100 Subject: [PATCH 22/29] test without gem update --- scripts/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index 6eb44a5..7d45805 100755 --- a/scripts/install +++ b/scripts/install @@ -59,7 +59,7 @@ pushd "$install_dir" ynh_use_ruby cp config/unicorn.rb.example config/unicorn.rb chown -R $app:www-data "$install_dir/config/unicorn.rb" - ynh_gem update --system --no-document + # ynh_gem update --system --no-document ynh_gem install rake bundler foreman --no-document bundle config set --local deployment 'true' bundle config set --local without 'development test' From 60ec761af0e0c3d1612600879769f842240857cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Fri, 23 Feb 2024 23:05:33 +0100 Subject: [PATCH 23/29] set bundler version --- scripts/install | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index 7d45805..c998a37 100755 --- a/scripts/install +++ b/scripts/install @@ -60,7 +60,8 @@ pushd "$install_dir" cp config/unicorn.rb.example config/unicorn.rb chown -R $app:www-data "$install_dir/config/unicorn.rb" # ynh_gem update --system --no-document - ynh_gem install rake bundler foreman --no-document + ynh_gem install bundler -v 2.4.22 + ynh_gem install rake foreman --no-document bundle config set --local deployment 'true' bundle config set --local without 'development test' bundle install From ba02016c9a82625200f3cb197d259ed19b256e39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Sat, 24 Feb 2024 13:00:14 +0100 Subject: [PATCH 24/29] Fix bundler version --- scripts/restore | 3 ++- scripts/upgrade | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/restore b/scripts/restore index 8336f93..4bba6b8 100644 --- a/scripts/restore +++ b/scripts/restore @@ -43,7 +43,8 @@ ynh_script_progression --message="Building app..." pushd "$install_dir" ynh_use_ruby ynh_gem update --system --no-document - ynh_gem install rake bundler foreman --no-document + ynh_gem install bundler -v 2.4.22 + ynh_gem install rake foreman --no-document bundle config set --local deployment 'true' ynh_exec_warn_less bundle config set --local without 'development test' ynh_exec_warn_less bundle install diff --git a/scripts/upgrade b/scripts/upgrade index e0aec64..cb100fc 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -61,7 +61,8 @@ pushd $install_dir cp -f config/unicorn.rb.example config/unicorn.rb chown -R "$app:www-data" "$install_dir/config/unicorn.rb" ynh_gem update --system --no-document - ynh_gem install rake bundler foreman --no-document + ynh_gem install bundler -v 2.4.22 + ynh_gem install rake foreman --no-document bundle config set --local deployment 'true' bundle config set --local without 'development test' bundle install From 88fa7d4e54f5542ed088a5701220e4454b8dce7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Sat, 24 Feb 2024 14:16:41 +0100 Subject: [PATCH 25/29] Install correct version of rubygems-update --- scripts/install | 3 ++- scripts/restore | 1 + scripts/upgrade | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index c998a37..89e996e 100755 --- a/scripts/install +++ b/scripts/install @@ -59,7 +59,8 @@ pushd "$install_dir" ynh_use_ruby cp config/unicorn.rb.example config/unicorn.rb chown -R $app:www-data "$install_dir/config/unicorn.rb" - # ynh_gem update --system --no-document + ynh_gem install rubygems-update -v 3.4 + ynh_gem update --system --no-document ynh_gem install bundler -v 2.4.22 ynh_gem install rake foreman --no-document bundle config set --local deployment 'true' diff --git a/scripts/restore b/scripts/restore index 4bba6b8..b7b6652 100644 --- a/scripts/restore +++ b/scripts/restore @@ -42,6 +42,7 @@ ynh_script_progression --message="Building app..." pushd "$install_dir" ynh_use_ruby + ynh_gem install rubygems-update -v 3.4 ynh_gem update --system --no-document ynh_gem install bundler -v 2.4.22 ynh_gem install rake foreman --no-document diff --git a/scripts/upgrade b/scripts/upgrade index cb100fc..e8d2425 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -60,6 +60,7 @@ pushd $install_dir ynh_use_ruby cp -f config/unicorn.rb.example config/unicorn.rb chown -R "$app:www-data" "$install_dir/config/unicorn.rb" + ynh_gem install rubygems-update -v 3.4 ynh_gem update --system --no-document ynh_gem install bundler -v 2.4.22 ynh_gem install rake foreman --no-document From 417397667397e6e6262ad89b69157bc770c7c7fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Sat, 24 Feb 2024 18:01:29 +0100 Subject: [PATCH 26/29] Remove verbosity --- scripts/ynh_install_ruby__2 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/ynh_install_ruby__2 b/scripts/ynh_install_ruby__2 index d91a875..2b629a4 100644 --- a/scripts/ynh_install_ruby__2 +++ b/scripts/ynh_install_ruby__2 @@ -215,8 +215,7 @@ ynh_install_ruby () { final_ruby_version=$ruby_version fi ynh_print_info --message="Installing Ruby-$final_ruby_version" - CONFIGURE_OPTS="--disable-install-doc --with-jemalloc" MAKE_OPTS="-j2" rbenv install --skip-existing $final_ruby_version - # > /dev/null 2>&1 + CONFIGURE_OPTS="--disable-install-doc --with-jemalloc" MAKE_OPTS="-j2" rbenv install --skip-existing $final_ruby_version > /dev/null 2>&1 # Store ruby_version into the config of this app ynh_app_setting_set --app=$YNH_APP_INSTANCE_NAME --key=ruby_version --value=$final_ruby_version From 9f582393e76045bb9bbdf3207537ae1db72a561a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Sat, 24 Feb 2024 18:06:50 +0100 Subject: [PATCH 27/29] Missing log dir on restore --- scripts/restore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/restore b/scripts/restore index b7b6652..00b6157 100644 --- a/scripts/restore +++ b/scripts/restore @@ -25,6 +25,8 @@ ynh_script_progression --message="Restoring the app main directory..." ynh_restore_file --origin_path="$install_dir" +mkdir -p "$install_dir/log" "$install_dir/tmp/pids" "$install_dir/tmp/sockets" + chmod -R o-rwx "$install_dir" chown -R "$app:www-data" "$install_dir" From cf2598548afba84551ca7a213d0fd00386f11ba4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Sat, 24 Feb 2024 18:11:58 +0100 Subject: [PATCH 28/29] Fix systemd log_match --- scripts/change_url | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/change_url b/scripts/change_url index 0051dcd..d0706b9 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -42,8 +42,8 @@ chown "$app:$app" "$install_dir/.env" ynh_script_progression --message="Starting $app's systemd service..." # Start a systemd service -ynh_systemd_action --service_name="$app-web" --action="start" --log_path="/var/log/$app/$app-web.log" --line_match="listening on addr" -ynh_systemd_action --service_name="$app-jobs" --action="start" --log_path="$install_dir/log/huginn-jobs.log" --line_match="listening on addr" +ynh_systemd_action --service_name="$app-web" --action="start" --log_path="$install_dir/log/unicorn.log" --line_match="listening on addr" +ynh_systemd_action --service_name="$app-jobs" --action="start" --log_path="$install_dir/log/huginn-jobs.log" #================================================= # END OF SCRIPT From 5289fc109167f7f10511973ddcdc7c87caaf723f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Sat, 24 Feb 2024 18:13:04 +0100 Subject: [PATCH 29/29] Fix description --- manifest.toml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/manifest.toml b/manifest.toml index fa1c000..04b5d01 100644 --- a/manifest.toml +++ b/manifest.toml @@ -4,8 +4,7 @@ packaging_format = 2 id = "huginn" name = "Huginn" -description.en = "Build agents that monitor and act on your behalf" -description.fr = "Build agents that monitor and act on your behalf" +description.en = "Build agents that monitor and act on your behalf. Your agents are standing by" version = "2022.08.18~ynh1"