From 5f492754b115465e25531888052f49ef9d67ef3b Mon Sep 17 00:00:00 2001 From: Kay0u Date: Tue, 25 May 2021 12:10:46 +0200 Subject: [PATCH 01/15] 13.12.0 --- README.md | 2 +- README_fr.md | 2 +- conf/gitlab.rb | 30 ++++++++++++++++++++++++------ manifest.json | 2 +- scripts/upgrade.d/upgrade.last.sh | 8 ++++---- 5 files changed, 31 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index c6e84b7..7a4f94a 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ If you don't have YunoHost, please see [here](https://yunohost.org/#/install) to GitLab is a web-based Git-repository manager providing wiki, issue-tracking and CI/CD pipeline features, using an open-source license, developed by GitLab Inc. -**Shipped version:** 13.11.2 +**Shipped version:** 13.12.0 ## Screenshots diff --git a/README_fr.md b/README_fr.md index a2b3475..6e34d04 100644 --- a/README_fr.md +++ b/README_fr.md @@ -12,7 +12,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour GitLab est un gestionnaire Web de dépôt Git fournissant des fonctionnalités de wiki, de rapports de bugs et de pipeline CI/CD. GitLab est une application open source développée par GitLab Inc. -**Version incluse :** 13.11.2 +**Version incluse :** 13.12.0 ## Captures d'écran diff --git a/conf/gitlab.rb b/conf/gitlab.rb index 99e553a..53dbd7d 100644 --- a/conf/gitlab.rb +++ b/conf/gitlab.rb @@ -103,6 +103,7 @@ external_url '__GENERATED_EXTERNAL_URL__' # gitlab_rails['smtp_authentication'] = "login" # gitlab_rails['smtp_enable_starttls_auto'] = true # gitlab_rails['smtp_tls'] = false +# gitlab_rails['smtp_pool'] = false ###! **Can be: 'none', 'peer', 'client_once', 'fail_if_no_peer_cert'** ###! Docs: http://api.rubyonrails.org/classes/ActionMailer/Base.html @@ -192,6 +193,8 @@ external_url '__GENERATED_EXTERNAL_URL__' # gitlab_rails['member_invitation_reminder_emails_worker_cron'] = "0 0 * * *" # gitlab_rails['user_status_cleanup_batch_worker_cron'] = "* * * * *" # gitlab_rails['namespaces_in_product_marketing_emails_worker_cron'] = "0 9 * * *" +# gitlab_rails['ssh_keys_expired_notification_worker_cron'] = "0 2 * * *" +# gitlab_rails['ssh_keys_expiring_soon_notification_worker_cron'] = "0 1 * * *" ### Webhook Settings ###! Number of seconds to wait for HTTP response after sending webhook HTTP POST @@ -886,6 +889,9 @@ gitlab_rails['gitlab_shell_ssh_port'] = __SSH_PORT__ # gitlab_workhorse['listen_addr'] = "/var/opt/gitlab/gitlab-workhorse/sockets/socket" # gitlab_workhorse['auth_backend'] = "http://localhost:8080" +##! Enable Redis keywatcher, if this setting is not present it defaults to true +# gitlab_workhorse['workhorse_keywatcher'] = true + ##! the empty string is the default in gitlab-workhorse option parser # gitlab_workhorse['auth_socket'] = "''" @@ -911,6 +917,9 @@ gitlab_rails['gitlab_shell_ssh_port'] = __SSH_PORT__ ##! Long polling duration for job requesting for runners # gitlab_workhorse['api_ci_long_polling_duration'] = "60s" +##! Propagate X-Request-Id if available. Workhorse will generate a random value otherwise. +# gitlab_workhorse['propagate_correlation_id'] = false + ##! Log format: default is json, can also be text or none. # gitlab_workhorse['log_format'] = "json" @@ -1013,7 +1022,7 @@ puma['port'] = __PUMA_PORT__ ### **Only change these settings if you understand well what they mean** ###! Docs: https://github.com/schneems/puma_worker_killer -# puma['per_worker_max_memory_mb'] = 850 +# puma['per_worker_max_memory_mb'] = 1024 # puma['exporter_enabled'] = false # puma['exporter_address'] = "127.0.0.1" @@ -1037,6 +1046,12 @@ puma['port'] = __PUMA_PORT__ # sidekiq['max_concurrency'] = 50 # sidekiq['min_concurrency'] = nil +##! GitLab allows route a job to a particular queue determined by an array of ##! routing rules. +##! Each routing rule is a tuple of queue selector query and corresponding queue. By default, +##! the routing rules are not configured (empty array) + +# sidekiq['routing_rules'] = [] + ##! Each entry in the queue_groups array denotes a group of queues that have to be processed by a ##! Sidekiq process. Multiple queues can be processed by the same process by ##! separating them with a comma within the group entry, a `*` will process all queues @@ -1433,7 +1448,7 @@ nginx['listen_https'] = false # nginx['sendfile'] = 'on' # nginx['tcp_nopush'] = 'on' # nginx['tcp_nodelay'] = 'on' -# nginx['gzip'] = "on" +# nginx['hide_server_tokens'] = 'off' # nginx['gzip_http_version'] = "1.0" # nginx['gzip_comp_level'] = "2" # nginx['gzip_proxied'] = "any" @@ -1615,11 +1630,11 @@ nginx['listen_https'] = false ##! Prometheus metrics for Pages docs: https://gitlab.com/gitlab-org/gitlab-pages/#enable-prometheus-metrics # gitlab_pages['metrics_address'] = ":9235" -##! Specifies the minimum SSL/TLS version ("ssl3", "tls1.0", "tls1.1" or "tls1.2") -# gitlab_pages['tls_min_version'] = "ssl3" +##! Specifies the minimum TLS version ("tls1.2" or "tls1.3") +# gitlab_pages['tls_min_version'] = "tls1.2" -##! Specifies the maximum SSL/TLS version ("ssl3", "tls1.0", "tls1.1" or "tls1.2") -# gitlab_pages['tls_max_version'] = "tls1.2" +##! Specifies the maximum TLS version ("tls1.2" or "tls1.3") +# gitlab_pages['tls_max_version'] = "tls1.3" ##! Pages access control # gitlab_pages['access_control'] = false @@ -1676,6 +1691,9 @@ nginx['listen_https'] = false ##! The maximum amount of time it takes to open a zip archive from the file system or object storage. # gitlab_pages['zip_open_timeout'] = "30s" +##! Enable serving content from disk instead of Object Storage +# gitlab_pages['enable_disk'] = nil + # gitlab_pages['env_directory'] = "/opt/gitlab/etc/gitlab-pages/env" # gitlab_pages['env'] = { # 'SSL_CERT_DIR' => "#{node['package']['install-dir']}/embedded/ssl/certs/" diff --git a/manifest.json b/manifest.json index 2e1ac97..2b883f8 100644 --- a/manifest.json +++ b/manifest.json @@ -2,7 +2,7 @@ "name": "GitLab", "id": "gitlab", "packaging_format": 1, - "version": "13.11.2~ynh1", + "version": "13.12.0~ynh1", "description": { "en": "Git-repository manager.", "fr": "Gestionnaire de dépôts Git." diff --git a/scripts/upgrade.d/upgrade.last.sh b/scripts/upgrade.d/upgrade.last.sh index 7dd5f58..651cdbc 100644 --- a/scripts/upgrade.d/upgrade.last.sh +++ b/scripts/upgrade.d/upgrade.last.sh @@ -1,15 +1,15 @@ #!/bin/bash -gitlab_version="13.11.2" +gitlab_version="13.12.0" # sha256sum found here: https://packages.gitlab.com/gitlab gitlab_debian_version="buster" -gitlab_x86_64_buster_source_sha256="e58e667f61fc04b8debce9b34622158c5feb3308a5f38a99e6b06aaf99e37e8f" +gitlab_x86_64_buster_source_sha256="0bea726c7c423ec34cf5e620a6a2bf2a55c7c55e4f67070aa6ea96d02015ccc6" -gitlab_arm64_buster_source_sha256="598385a23b71fb2fab2654285e9e7f29005b03cb34874743e3be213df25c7a05" +gitlab_arm64_buster_source_sha256="a2136f9311ceaf563f6b2594aefef68c89008c7b84082e97e87596061b5b4603" -gitlab_arm_buster_source_sha256="70f9b525a73a414a3f960d436f8a12d969ffc80801bc42958918bd1678aefa87" +gitlab_arm_buster_source_sha256="4fda3882ef7464c4679d0d6a6720630f45ac988cad6f3e7f33e4e02e36c0d03f" architecture=$(ynh_app_setting_get --app="$app" --key=architecture) From 3c5fe316196d00c80f9c68ab4295ba972b6ddfe7 Mon Sep 17 00:00:00 2001 From: Kay0u Date: Fri, 28 May 2021 14:04:03 +0200 Subject: [PATCH 02/15] 13.12.1 --- README.md | 2 +- README_fr.md | 2 +- manifest.json | 2 +- scripts/upgrade.d/upgrade.last.sh | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 7a4f94a..e37b36f 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ If you don't have YunoHost, please see [here](https://yunohost.org/#/install) to GitLab is a web-based Git-repository manager providing wiki, issue-tracking and CI/CD pipeline features, using an open-source license, developed by GitLab Inc. -**Shipped version:** 13.12.0 +**Shipped version:** 13.12.1 ## Screenshots diff --git a/README_fr.md b/README_fr.md index 6e34d04..9353268 100644 --- a/README_fr.md +++ b/README_fr.md @@ -12,7 +12,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour GitLab est un gestionnaire Web de dépôt Git fournissant des fonctionnalités de wiki, de rapports de bugs et de pipeline CI/CD. GitLab est une application open source développée par GitLab Inc. -**Version incluse :** 13.12.0 +**Version incluse :** 13.12.1 ## Captures d'écran diff --git a/manifest.json b/manifest.json index 2b883f8..bd8c215 100644 --- a/manifest.json +++ b/manifest.json @@ -2,7 +2,7 @@ "name": "GitLab", "id": "gitlab", "packaging_format": 1, - "version": "13.12.0~ynh1", + "version": "13.12.1~ynh1", "description": { "en": "Git-repository manager.", "fr": "Gestionnaire de dépôts Git." diff --git a/scripts/upgrade.d/upgrade.last.sh b/scripts/upgrade.d/upgrade.last.sh index 651cdbc..5577683 100644 --- a/scripts/upgrade.d/upgrade.last.sh +++ b/scripts/upgrade.d/upgrade.last.sh @@ -1,15 +1,15 @@ #!/bin/bash -gitlab_version="13.12.0" +gitlab_version="13.12.1" # sha256sum found here: https://packages.gitlab.com/gitlab gitlab_debian_version="buster" -gitlab_x86_64_buster_source_sha256="0bea726c7c423ec34cf5e620a6a2bf2a55c7c55e4f67070aa6ea96d02015ccc6" +gitlab_x86_64_buster_source_sha256="53f52edd4930c212398658ea48e2a2478d22e65bc63f0fc9d03bca8a25738fed" -gitlab_arm64_buster_source_sha256="a2136f9311ceaf563f6b2594aefef68c89008c7b84082e97e87596061b5b4603" +gitlab_arm64_buster_source_sha256="a5e5dca6d47e53b0522c29d978b3f5f8bd23528acde46d13d559511147bc1b28" -gitlab_arm_buster_source_sha256="4fda3882ef7464c4679d0d6a6720630f45ac988cad6f3e7f33e4e02e36c0d03f" +gitlab_arm_buster_source_sha256="7bc001c164dc082e5a5887f3d8fb1234d9bfc474ddc21142f4103c9ddc567d03" architecture=$(ynh_app_setting_get --app="$app" --key=architecture) From 4fee2f95db71c46d897978b4694bf10738f7fa37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre=20Bourr=C3=A9?= Date: Fri, 28 May 2021 16:13:02 +0200 Subject: [PATCH 03/15] Use add config --- conf/arm.src.default | 6 +++--- conf/arm64.src.default | 6 +++--- conf/x86-64.src.default | 6 +++--- manifest.json | 24 ++++++++---------------- scripts/change_url | 19 ++++++------------- scripts/install | 29 +++++++++-------------------- scripts/restore | 10 +++------- scripts/upgrade | 39 ++++++++++++++------------------------- 8 files changed, 49 insertions(+), 90 deletions(-) diff --git a/conf/arm.src.default b/conf/arm.src.default index 9370a8f..09a5abd 100644 --- a/conf/arm.src.default +++ b/conf/arm.src.default @@ -1,6 +1,6 @@ -SOURCE_URL=https://packages.gitlab.com/gitlab/raspberry-pi2/packages/raspbian/__DEBIAN_VERSION__/gitlab-ce___VERSION__-ce.0_armhf.deb/download.deb -SOURCE_SUM=__SHA256_SUM__ +SOURCE_URL=https://packages.gitlab.com/gitlab/raspberry-pi2/packages/raspbian/__GITLAB_DEBIAN_VERSION__/gitlab-ce___GITLAB_VERSION__-ce.0_armhf.deb/download.deb +SOURCE_SUM=__GITLAB_SOURCE_SHA256__ SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=__SOURCE_FILENAME__ +SOURCE_FILENAME=__GITLAB_FILENAME__ SOURCE_EXTRACT=false SOURCE_FORMAT=deb diff --git a/conf/arm64.src.default b/conf/arm64.src.default index 89040e9..07782fc 100644 --- a/conf/arm64.src.default +++ b/conf/arm64.src.default @@ -1,6 +1,6 @@ -SOURCE_URL=https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/__DEBIAN_VERSION__/gitlab-ce___VERSION__-ce.0_arm64.deb/download.deb -SOURCE_SUM=__SHA256_SUM__ +SOURCE_URL=https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/__GITLAB_DEBIAN_VERSION__/gitlab-ce___GITLAB_VERSION__-ce.0_arm64.deb/download.deb +SOURCE_SUM=__GITLAB_SOURCE_SHA256__ SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=__SOURCE_FILENAME__ +SOURCE_FILENAME=__GITLAB_FILENAME__ SOURCE_EXTRACT=false SOURCE_FORMAT=deb diff --git a/conf/x86-64.src.default b/conf/x86-64.src.default index f8e3b71..1faaa92 100644 --- a/conf/x86-64.src.default +++ b/conf/x86-64.src.default @@ -1,6 +1,6 @@ -SOURCE_URL=https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/__DEBIAN_VERSION__/gitlab-ce___VERSION__-ce.0_amd64.deb/download.deb -SOURCE_SUM=__SHA256_SUM__ +SOURCE_URL=https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/__GITLAB_DEBIAN_VERSION__/gitlab-ce___GITLAB_VERSION__-ce.0_amd64.deb/download.deb +SOURCE_SUM=__GITLAB_SOURCE_SHA256__ SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=__SOURCE_FILENAME__ +SOURCE_FILENAME=__GITLAB_FILENAME__ SOURCE_EXTRACT=false SOURCE_FORMAT=deb diff --git a/manifest.json b/manifest.json index bd8c215..922c2a3 100644 --- a/manifest.json +++ b/manifest.json @@ -8,6 +8,14 @@ "fr": "Gestionnaire de dépôts Git." }, "url": "https://gitlab.com", + "upstream": { + "license": "MIT", + "website": "https://gitlab.com", + "demo": "https://gitlab.com/explore", + "admindoc": "https://docs.gitlab.com/", + "userdoc": "https://yunohost.org/fr/app_gitlab", + "code": "https://gitlab.com/gitlab-org/omnibus-gitlab - https://gitlab.com/gitlab-org/gitlab" + }, "license": "MIT", "maintainer": { "name": "kay0u", @@ -25,38 +33,22 @@ { "name": "domain", "type": "domain", - "ask": { - "en": "Choose a domain name for GitLab", - "fr": "Choisissez un nom de domaine pour GitLab" - }, "example": "example.com" }, { "name": "path", "type": "path", - "ask": { - "en": "Choose a path for GitLab", - "fr": "Choisissez un chemin pour GitLab" - }, "example": "/gitlab", "default": "/gitlab" }, { "name": "admin", "type": "user", - "ask": { - "en": "Choose an admin user", - "fr": "Choisissez l’administrateur" - }, "example": "johndoe" }, { "name": "is_public", "type": "boolean", - "ask": { - "en": "Is it a public application?", - "fr": "Est-ce une application publique ?" - }, "default": true }, { diff --git a/scripts/change_url b/scripts/change_url index 1669982..f8f3b4e 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -29,8 +29,8 @@ ynh_script_progression --message="Loading installation settings..." --weight=1 # Needed for helper "ynh_add_nginx_config" config_path=$(ynh_app_setting_get --app=$app --key=config_path) port=$(ynh_app_setting_get --app="$app" --key=web_port) -portPuma=$(ynh_app_setting_get --app="$app" --key=puma_port) -portSidekiq=$(ynh_app_setting_get --app="$app" --key=sidekiq_port) +puma_port=$(ynh_app_setting_get --app="$app" --key=puma_port) +sidekiq_port=$(ynh_app_setting_get --app="$app" --key=sidekiq_port) puma_worker_processes=$(ynh_app_setting_get --app="$app" --key=puma_workers) puma_min_threads=$(ynh_app_setting_get --app="$app" --key=puma_min_threads) puma_max_threads=$(ynh_app_setting_get --app="$app" --key=puma_max_threads) @@ -118,16 +118,9 @@ ssh_port=$(grep -P "Port\s+\d+" /etc/ssh/sshd_config | grep -P -o "\d+") domain="$new_domain" path_url="$new_path" -ynh_replace_string --match_string="__GENERATED_EXTERNAL_URL__" --replace_string="https://$domain${path_url%/}" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__PUMA_PORT__" --replace_string="$portPuma" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__PUMA_WORKER_PROCESSES__" --replace_string="$puma_worker_processes" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__PUMA_MIN_THREADS__" --replace_string="$puma_min_threads" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__PUMA_MAX_THREADS__" --replace_string="$puma_max_threads" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__CLIENT_MAX_BODY_SIZE__" --replace_string="$client_max_body_size" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__SSH_PORT__" --replace_string="$ssh_port" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__SIDEKIQ_PORT__" --replace_string="$portSidekiq" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__MODIFY_KERNEL_PARAMETERS__" --replace_string="$modify_kernel_parameters" --target_file="$config_path/gitlab.rb" +generated_external_url="https://$domain${path_url%/}" + +ynh_add_config --template="$YNH_APP_BASEDIR/conf/gitlab.rb" --destination="$config_path/gitlab.rb" ynh_store_file_checksum --file="$config_path/gitlab.rb" @@ -142,7 +135,7 @@ gitlab-ctl reconfigure #================================================= ynh_script_progression --message="Waiting for GitLab..." --weight=15 -ynh_systemd_action --action=restart --service_name="gitlab-runsvdir" --log_path="/var/log/$app/puma/current" --line_match="Listening on http://127.0.0.1:$portPuma" --timeout=300 +ynh_systemd_action --action=restart --service_name="gitlab-runsvdir" --log_path="/var/log/$app/puma/current" --line_match="Listening on http://127.0.0.1:$puma_port" --timeout=300 #================================================= # GENERIC FINALISATION diff --git a/scripts/install b/scripts/install index bd54d05..52f6008 100644 --- a/scripts/install +++ b/scripts/install @@ -86,12 +86,12 @@ ynh_script_progression --message="Find internal port..." --weight=1 # Find free ports port=$(ynh_find_port --port=8080) -portPuma=$(ynh_find_port --port=$(($port + 1))) -portSidekiq=$(ynh_find_port --port=$(($portPuma + 1))) +puma_port=$(ynh_find_port --port=$(($port + 1))) +sidekiq_port=$(ynh_find_port --port=$(($port_puma + 1))) ynh_app_setting_set --app=$app --key=web_port --value=$port -ynh_app_setting_set --app=$app --key=puma_port --value=$portPuma -ynh_app_setting_set --app=$app --key=sidekiq_port --value=$portSidekiq +ynh_app_setting_set --app=$app --key=puma_port --value=$puma_port +ynh_app_setting_set --app=$app --key=sidekiq_port --value=$sidekiq_port #================================================= # INSTALL DEPENDENCIES @@ -174,16 +174,9 @@ chown admin: "$config_path/gitlab-persistent.rb" cp -f $YNH_APP_BASEDIR/conf/gitlab.rb "$config_path/gitlab.rb" ssh_port=$(grep -P "Port\s+\d+" /etc/ssh/sshd_config | grep -P -o "\d+") -ynh_replace_string --match_string="__GENERATED_EXTERNAL_URL__" --replace_string="https://$domain${path_url%/}" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__PUMA_PORT__" --replace_string="$portPuma" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__PUMA_WORKER_PROCESSES__" --replace_string="$puma_worker_processes" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__PUMA_MIN_THREADS__" --replace_string="$puma_min_threads" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__PUMA_MAX_THREADS__" --replace_string="$puma_max_threads" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__CLIENT_MAX_BODY_SIZE__" --replace_string="$client_max_body_size" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__SSH_PORT__" --replace_string="$ssh_port" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__SIDEKIQ_PORT__" --replace_string="$portSidekiq" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__MODIFY_KERNEL_PARAMETERS__" --replace_string="$modify_kernel_parameters" --target_file="$config_path/gitlab.rb" +generated_external_url="https://$domain${path_url%/}" + +ynh_add_config --template="$YNH_APP_BASEDIR/conf/gitlab.rb" --destination="$config_path/gitlab.rb" #================================================= # STORE THE CONFIG FILE CHECKSUM @@ -197,11 +190,7 @@ ynh_store_file_checksum --file="$config_path/gitlab.rb" ynh_script_progression --message="Setting up source files..." --weight=50 source $YNH_APP_BASEDIR/scripts/upgrade.d/upgrade.last.sh -cp $YNH_APP_BASEDIR/conf/$architecture.src.default $YNH_APP_BASEDIR/conf/$architecture.src -ynh_replace_string --match_string="__VERSION__" --replace_string="$gitlab_version" --target_file="$YNH_APP_BASEDIR/conf/$architecture.src" -ynh_replace_string --match_string="__SOURCE_FILENAME__" --replace_string="$gitlab_filename" --target_file="$YNH_APP_BASEDIR/conf/$architecture.src" -ynh_replace_string --match_string="__DEBIAN_VERSION__" --replace_string="$gitlab_debian_version" --target_file="$YNH_APP_BASEDIR/conf/$architecture.src" -ynh_replace_string --match_string="__SHA256_SUM__" --replace_string="$gitlab_source_sha256" --target_file="$YNH_APP_BASEDIR/conf/$architecture.src" +ynh_add_config --template="$YNH_APP_BASEDIR/conf/$architecture.src.default" --destination="$YNH_APP_BASEDIR/conf/$architecture.src" tempdir="$(mktemp -d)" @@ -274,7 +263,7 @@ ynh_systemd_action --action=reload --service_name=nginx #================================================= ynh_script_progression --message="Restarting GitLab..." --weight=15 -ynh_systemd_action --action=restart --service_name="gitlab-runsvdir" --log_path="/var/log/$app/puma/current" --line_match="Listening on http://127.0.0.1:$portPuma" --timeout=300 +ynh_systemd_action --action=restart --service_name="gitlab-runsvdir" --log_path="/var/log/$app/puma/current" --line_match="Listening on http://127.0.0.1:$puma_port" --timeout=300 #================================================= # END OF SCRIPT diff --git a/scripts/restore b/scripts/restore index 6ebdc2c..d54349d 100644 --- a/scripts/restore +++ b/scripts/restore @@ -33,7 +33,7 @@ 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) config_path=$(ynh_app_setting_get --app=$app --key=config_path) -portPuma=$(ynh_app_setting_get --app="$app" --key=puma_port) +puma_port=$(ynh_app_setting_get --app="$app" --key=puma_port) architecture=$(ynh_app_setting_get --app="$app" --key=architecture) #================================================= @@ -97,11 +97,7 @@ ynh_restore_file --origin_path="$config_path/gitlab-persistent.rb" ynh_script_progression --message="Reinstalling GitLab..." --weight=50 source $YNH_APP_BASEDIR/scripts/upgrade.d/upgrade.last.sh -cp $YNH_APP_BASEDIR/conf/$architecture.src.default $YNH_APP_BASEDIR/conf/$architecture.src -ynh_replace_string --match_string="__VERSION__" --replace_string="$gitlab_version" --target_file="$YNH_APP_BASEDIR/conf/$architecture.src" -ynh_replace_string --match_string="__SOURCE_FILENAME__" --replace_string="$gitlab_filename" --target_file="$YNH_APP_BASEDIR/conf/$architecture.src" -ynh_replace_string --match_string="__DEBIAN_VERSION__" --replace_string="$gitlab_debian_version" --target_file="$YNH_APP_BASEDIR/conf/$architecture.src" -ynh_replace_string --match_string="__SHA256_SUM__" --replace_string="$gitlab_source_sha256" --target_file="$YNH_APP_BASEDIR/conf/$architecture.src" +ynh_add_config --template="$YNH_APP_BASEDIR/conf/$architecture.src.default" --destination="$YNH_APP_BASEDIR/conf/$architecture.src" tempdir="$(mktemp -d)" @@ -149,7 +145,7 @@ yunohost service add "gitlab-runsvdir" --log "/var/log/$app/gitlab-rails/applica #================================================= ynh_script_progression --message="Waiting for GitLab..." --weight=14 -ynh_systemd_action --action=restart --service_name="gitlab-runsvdir" --log_path="/var/log/$app/puma/current" --line_match="Listening on http://127.0.0.1:$portPuma" --timeout=300 +ynh_systemd_action --action=restart --service_name="gitlab-runsvdir" --log_path="/var/log/$app/puma/current" --line_match="Listening on http://127.0.0.1:$puma_port" --timeout=300 #================================================= # CHECK THE RESTORED DATA diff --git a/scripts/upgrade b/scripts/upgrade index 9399e24..6992446 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -22,8 +22,8 @@ is_public=$(ynh_app_setting_get --app="$app" --key=is_public) final_path=$(ynh_app_setting_get --app=$app --key=final_path) config_path=$(ynh_app_setting_get --app=$app --key=config_path) port=$(ynh_app_setting_get --app="$app" --key=web_port) -portPuma=$(ynh_app_setting_get --app="$app" --key=puma_port) -portSidekiq=$(ynh_app_setting_get --app="$app" --key=sidekiq_port) +puma_port=$(ynh_app_setting_get --app="$app" --key=puma_port) +sidekiq_port=$(ynh_app_setting_get --app="$app" --key=sidekiq_port) architecture=$(ynh_app_setting_get --app="$app" --key=architecture) puma_worker_processes=$(ynh_app_setting_get --app="$app" --key=puma_workers) puma_min_threads=$(ynh_app_setting_get --app="$app" --key=puma_min_threads) @@ -126,19 +126,19 @@ if [ -z "$port" ]; then fi # If port doesn't exist, retrieve it -if [ -z "$portPuma" ]; then +if [ -z "$puma_port" ]; then if [ -z "$(ynh_app_setting_get --app="$app" --key=unicorn_port)" ]; then - portPuma=$(grep -F "unicorn['port']" "/etc/gitlab/gitlab.rb" | cut -d' ' -f3) + puma_port=$(grep -F "unicorn['port']" "/etc/gitlab/gitlab.rb" | cut -d' ' -f3) else - portPuma=$(ynh_app_setting_get --app="$app" --key=unicorn_port) + puma_port=$(ynh_app_setting_get --app="$app" --key=unicorn_port) fi - ynh_app_setting_set --app=$app --key=puma_port --value=$portPuma + ynh_app_setting_set --app=$app --key=puma_port --value=$puma_port ynh_app_setting_delete --app=$app --key=unicorn_port fi -if [ -z "$portSidekiq" ]; then - portSidekiq=$(ynh_find_port $(($portPuma + 1))) - ynh_app_setting_set --app=$app --key=sidekiq_port --value=$portSidekiq +if [ -z "$sidekiq_port" ]; then + sidekiq_port=$(ynh_find_port $(($puma_port + 1))) + ynh_app_setting_set --app=$app --key=sidekiq_port --value=$sidekiq_port fi # if this source file exist, remove it @@ -265,11 +265,7 @@ then fi fi - cp $YNH_APP_BASEDIR/conf/$architecture.src.default $YNH_APP_BASEDIR/conf/$architecture.src - ynh_replace_string --match_string="__VERSION__" --replace_string="$gitlab_version" --target_file="$YNH_APP_BASEDIR/conf/$architecture.src" - ynh_replace_string --match_string="__SOURCE_FILENAME__" --replace_string="$gitlab_filename" --target_file="$YNH_APP_BASEDIR/conf/$architecture.src" - ynh_replace_string --match_string="__DEBIAN_VERSION__" --replace_string="$gitlab_debian_version" --target_file="$YNH_APP_BASEDIR/conf/$architecture.src" - ynh_replace_string --match_string="__SHA256_SUM__" --replace_string="$gitlab_source_sha256" --target_file="$YNH_APP_BASEDIR/conf/$architecture.src" + ynh_add_config --template="$YNH_APP_BASEDIR/conf/$architecture.src.default" --destination="$YNH_APP_BASEDIR/conf/$architecture.src" tempdir="$(mktemp -d)" @@ -313,16 +309,9 @@ mkdir -p $config_path cp -f $YNH_APP_BASEDIR/conf/gitlab.rb "$config_path/gitlab.rb" ssh_port=$(grep -P "Port\s+\d+" /etc/ssh/sshd_config | grep -P -o "\d+") -ynh_replace_string --match_string="__GENERATED_EXTERNAL_URL__" --replace_string="https://$domain${path_url%/}" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__PUMA_PORT__" --replace_string="$portPuma" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__PUMA_WORKER_PROCESSES__" --replace_string="$puma_worker_processes" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__PUMA_MIN_THREADS__" --replace_string="$puma_min_threads" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__PUMA_MAX_THREADS__" --replace_string="$puma_max_threads" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__CLIENT_MAX_BODY_SIZE__" --replace_string="$client_max_body_size" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__SSH_PORT__" --replace_string="$ssh_port" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__SIDEKIQ_PORT__" --replace_string="$portSidekiq" --target_file="$config_path/gitlab.rb" -ynh_replace_string --match_string="__MODIFY_KERNEL_PARAMETERS__" --replace_string="$modify_kernel_parameters" --target_file="$config_path/gitlab.rb" +generated_external_url="https://$domain${path_url%/}" + +ynh_add_config --template="$YNH_APP_BASEDIR/conf/gitlab.rb" --destination="$config_path/gitlab.rb" ynh_store_file_checksum --file="$config_path/gitlab.rb" @@ -362,7 +351,7 @@ if [ "$upgrade_type" == "UPGRADE_APP" ] then ynh_script_progression --message="Restarting GitLab..." --weight=15 - ynh_systemd_action --action=restart --service_name="gitlab-runsvdir" --log_path="/var/log/$app/puma/current" --line_match="Listening on http://127.0.0.1:$portPuma" --timeout=300 + ynh_systemd_action --action=restart --service_name="gitlab-runsvdir" --log_path="/var/log/$app/puma/current" --line_match="Listening on http://127.0.0.1:$puma_port" --timeout=300 fi #================================================= From c4173976b15b4d78be1feded3abe70325a6b300e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre=20Bourr=C3=A9?= Date: Fri, 28 May 2021 16:57:01 +0200 Subject: [PATCH 04/15] trying to use auto-readme tool --- doc/ DISCLAIMER.md | 15 +++++++++++++++ doc/ DISCLAIMER_fr.md | 15 +++++++++++++++ .../GitLab_running_11.0_(2018-07).png | Bin 0 -> 172835 bytes manifest.json | 4 ++-- 4 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 doc/ DISCLAIMER.md create mode 100644 doc/ DISCLAIMER_fr.md create mode 100644 doc/screenshots/GitLab_running_11.0_(2018-07).png diff --git a/doc/ DISCLAIMER.md b/doc/ DISCLAIMER.md new file mode 100644 index 0000000..d53915e --- /dev/null +++ b/doc/ DISCLAIMER.md @@ -0,0 +1,15 @@ +## Configuration + +How to configure GitLab: + +- With the GitLab admin panel. +- By editing the configuration file `/etc/gitlab/gitlab-persistent.rb` (use `sudo gitlab-ctl reconfigure` after any modification of this file). + +#### Multi-users support + +* Are LDAP and HTTP auth supported? **Yes** +* Can the app be used by multiple users? **Yes** + +## Limitations + +* GitLab is not compatible with 32-bit architectures. \ No newline at end of file diff --git a/doc/ DISCLAIMER_fr.md b/doc/ DISCLAIMER_fr.md new file mode 100644 index 0000000..5e8c4e7 --- /dev/null +++ b/doc/ DISCLAIMER_fr.md @@ -0,0 +1,15 @@ +## Configuration + +Comment configurer GitLab : + +- Avec le panneau d'administration de GitLab. +- En éditant le fichier de configuration `/etc/gitlab/gitlab-persistent.rb` et en éxécutant la commande `sudo gitlab-ctl reconfigure` pour réactualiser la configuration. + +#### Support multi-utilisateurs + +* L'authentification LDAP et HTTP est-elle prise en charge ? **Oui** +* L'application peut-elle être utilisée par plusieurs utilisateurs ? **Oui** + +## Limitations + +* L'application GitLab n'est pas compatible avec les architectures 32-bit. \ No newline at end of file diff --git a/doc/screenshots/GitLab_running_11.0_(2018-07).png b/doc/screenshots/GitLab_running_11.0_(2018-07).png new file mode 100644 index 0000000000000000000000000000000000000000..7a46fb444355e4ab2e1c7239a6bddb7e860c1428 GIT binary patch literal 172835 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

N(9zS22P5EH#U)t2V0AT)V%3r7Yp!_s0%L07 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

Yb->c#rwj&{~UAIQhTWkiq~7} zy{v_XS7o5Eo2=d4SM?z3lPr9p)%^P<4>ufmnP%bot9&3H(euIsC_>DSFer zwL^Cmidx^1zYl`LT{-*G4$Vog3hDCOp2$=?=-kKTi=fBjB6JQXc}7b9DhZQTTMmro z9v54-CqZB5db6slt24oMl+7eadSO=5zTKFbJ5jTus6MG=`T;wTqXJ8VKL8s0Zt3A* zW!(a4S}OanLX`IQM$uMobnWjvhvX4X`~!0K$Bp+PJ>B5YEu%48exDsKkz%raH;1Bz zVs&05tsjzk4gRWJ2Aj}axD!K`;7JUtNf3uZXw6|_7T&lI zt)97cP(UzK)+L_C^r;WbVgAxS;b5t4mswYuVhUpca(je82}+|OuGwz{Muk8D?OmRC z5V0x~e~n^Aka}c*?CV6Jjy<3}=@jPCfE*|Fr6zY#*Z|Rc(i4qP(=idKW2YF)=*QCP z&V_(RQ7tfi961E0qwjfQZrXG!Aw|57)}ZI3+E}3TW(?+P;rXpIQ99#Y`h)h%Ehsvw z>(p>)$3$lo)ZT|yMmDN-m8x+Ex@}@w=o8|ZCO<2INWbHsH-b8)3ria#TUe}LG6UkO zhi-zhb|MdJr&WVGJ5~xzz_X&`I)EQ|nqizZhV?B!p7y-vc5mlAelYuspoD?K_qJzs z7WK{iQ5bhYNoSQq9mv)|ePev$&xcT9@}M@nV1SU2GzG?4%PYvoV`M==3(z^n!IM9G{oXSEN%n_knFEo^-i5#C3e*DE=EU^Et>9$js+8- z$wK$wL2N2j@08~fCz;OA>!o8r;SQL-qsMbRZP z1-aL5?uFo@Sg)|hGG^}Q{=Stsk1Y-T4p#XGS#h*E3z&gvh*c#*#$$+VU9BvcEFFbY zUN;>LTA+cMq_ToJ(!4H`1juZTpJ4XaaO_*hh<9l`vE@@YHXm?99^r(x$#x)}Yc*zW zyNk7F*^Hf+QsOk-3yVwvC$=?+pNY05bVo__y=00sj)DzupeF4GIs)@mjOY2yv(gUiY+}xthCRgFX;Bky*&`2Wz813M zBn8xFzuU+ULF9JZQ^0Kl2G=2gIMd}A#OsgDM0AuGF{q^;akAMS2w3k>v!3(o)e4Dn zKrjGVj|ManK|GX90rbDr0D^kMm}iIiouJJN8K-kFgBQ%c*BZH@M|TynKByM@0D~p* zG~1+SrOtgz8`hBXW?BP>0ZtZeRproy8Oc6~y%({Ojw1?f+ggofT<+j<7mV(87_-nu zVVRf@DQMESf61{W0YJ&9G!o;7zWG`^(kb+aM+m>1Q$i)f4@vEbXf_wDgGeZQZ%^k4 zX53?@=F6q((O4U>lT&t2jHfEN2ee~V<&NA}#(4t`uvyT<28uDSA`QT-<7v4wcx27#pvxRyh(D~65r0T`!&3AYRz;waQ41Ok2roz0L1k_sX zY6ar$^U07R=$v3IvB1sxQp}MN1lOAf83D}qtCMy_AR}_D&CTICmRno{3VNcw$P6}E zDCz1Lp@|zoQc`b!`mkcQ4&`NZulrF2U+O6U=aAjj_}Gb{I8$MCA%$+P`R8_00v4gh zuLq4eV9v%~n#=4ro{4Sl^XPFd(e76nHt*BA)=OU(Be0Ri#B5m#JIt4bZo9jkOU?5Ml3qFDTJX#P9h zFTikgW^>2G{?BwDt|gHZRbN~2sJO2dedX$knZjDhVsQdRBsIkZ65ppIJd}W7RG{|{ z@#gz4;$4zk81$(6K^VT7VVux@l~3Z@8=5v;Z2YwD`25okrojdfpUX)l!J8uhNH<2b zW?UX>u|Z+U)sc%RFHLA4eV-02Zcv(dk?nfuEd1*hr%(8_{0n7|LEnFa2fthDB*I z*|M=8grDJDvOMEINK(SW2!fQi1<)=C4w=oo5U!Uuc+{TL$2)!cmh!YkCBH2Pem-qv zB35l9x=>58u%X&)nuuEs*~G+)c~#`Fzd~U-ISa98(B{?UyV4a_IPzj*t~#pL+C3X2 z4x!bv?o5*sscq7tjk6h|3qJR@;IDyJ)86&M6EPhdy>YSHq2~UgJUYa6K8pp2r&mZU zzV9EwhpGp#E4s;`k3{Yllr%+$u-&7JU)SN5YS?uxFL2aMBc_JI3XXzZ2e|4)Yjy48c-m0oA90IO4U`skX$Eipcwhvpo)nr+F|Cyie`No?`h>)HER z<#VENu<51N#VJq)KEk(|fh(2oc8z}?FO;lOz|jmg8$HfhetqaIXH8>P&4`1>kkO|~ zWJRowdFUZ-EsMT%!#6ga^mfQ9VBTImM@WMv_^mjid(9_aGQYv6T6O=b2Lx8PDp`tQ z4TIjVO;~}g1$Qf)AZ0ybRk-+7j*9}M9&}x1kjpB957qNdQ(v+^tEO%n>=TwHie%BB z5uh9TzZZa_Fl+yG<_h$oR&0=dcQ#_@jd9xk%K!7{&n$k#g@l8-3POBjxM|jj;e9vS zbI}<_Ku7!!X^{{Gy}$R7#E7y61?Gd&n9bt7(jpHGX_s?e%CB7qsP4{% z0W_<0{)y-dMA@<=_=ww=Ay(HpGcYlo&P^DWuZ-{dorg9*PFOq6%mGf>g8 zwzV?B1@90^?pdd@3t*)zKioEFshQL!M85Ar1xxt@!P%z$*X>~!&+-6{wu0hG4WhIs zi3BXz=q!=R@@vff6C?~CoBU{do^Ky-Xt8rlyx^@&d(`A!P3Q?0!U?8OGQPNAQL^*q zbAQdzwe&GDwHi6}{65f7OD*i_j{Kb;+!?5!68%VcZ{eQ*QFVzUNBY}G_G`B_PGs`< zU&sZf*_*YvDpFqDdHb_e|f0KsNMgyX}UWKVi5e=yaRH?TOj<321x2@NlNo{!&EVP}S z|!EzN-n~C>ddLk=jEU)5b^a^ zi*nO(>-Fh!?7X(Z3+(9MNStA3gQg1&$-(*0ax98%du~o;yOy}^a<7_6#Tv4XNPhrbF8Thf@CFu#6R;PFUlK`10h6@2jMXyA3wQ3Ew$2z4kZ94fD; zyl-DAZ~vMRD0Qf)?j&ElEThZO<1V0bm!v^~c2s?CtBGCK?Wviq;;o`JLTp*)bEye{ zkZ-ePabP&{WwawDB3-`HBi-4+aBpr>6|G2(CldQYOi12(`~FUzGu#`bKl)Z$%*X&w z@sB{ZCHJW9ss=3nWnfk^UMLAsED)iC{jahxp409xkh zIaAxeM_NZ8A~Vv(A`V*A+DLlaFi8-$-M2=;|MUP!BZCij#wD*VZ{?D_Wsc7hQAK;2K=aIMU2ddkMLBe_b*6H~RA@>6 zXnZ|pq9-|x$!@I}$y5XiX&Y~v|t@lu~4`-V-?vekZ!zwdC z)QbFjUbn{|e0m@Bqi9+kOeb-jjiE@m_&J#ccIuU#@xnZ(2|2W!jEMH3RAHjT7rXox zrQ?fQ+hXj;g`}~qu3!T0TccR=YPiL}@87~%2a1@3KKeimeT!Vgh(_}!=kjr2&7p#C z7n0IKvg|*oR2wqh>l`8vA5o*oBK`yK5iQ90N7kI=%gXZ)jrS4%NL&%~`@j5?IQIXm zma>^XFK+t%aF_oBdHIucj)%j@)-OBCFp9f4#M|3)z1P#Ws zgw)9}3uw`$2@$rXeZeA<$(a8XU(p}tRNsY#{|4UvyEVK9B={j>At(QhhWYz#I>f<$ z93GzjAJCE?Fh*!ug2Y(FP5-le0HmkiNg#T2O0t@N>BRr@S3~~T(Q5?k|6^&u@lc4! zJw1Bd?=LFsKM5X5A}okf-3Tp*_aA2&B}7^O|J*=zK80WIjTsNbk~dtA@-o{lbAi=Y zXdh)*3U9K{QiP9rXK*2+thBM^s7Li@f(cJix9Hh_Em64UK1B6lT({R(aD?oAq4Fui zp-rp^x-3Guw!<_Wm;~CFJbA161I6&ZUZ%YE($DdyUG(18=iC9UL}}6s{7tE}^kK(( zXy2?GVGMG7%>AB8X=Pw|P4TlL64_ftYK3-XZhC_FsSWQuSYUj}WzOTl{S#a+sqayS zUAP7r6;J>uVIJ5tzP4;qO)Jlyscq|7?roO^ZI={B;50MTkwjV z!1F(T`ty^a)DsWj2amll#PPO&;uqSmcI*Z_kX8)@mugr1YH=a8oBM?gp+OXrcrY$c zrJA=*>e4I(x4fwfgOB$$c;tdnI=D6_@&jduc0E$hDI3WxoPwd>@U)hRBOg=# zRy=r7L|WVi+*1d@|zT9?TWa{BF$SBb&N8Z^K1~Wp^c4Ur|4~- z0p5`Yu30;aKjegyGIEm36>%R1fdP1ezFj+A+n4%AQ01KAiq&(_Q|l({vaGV4y2d!i z#=Mw6X6L?FgR=vbIBl$~x=JeA!o56Q@^T(biMW;)R0W> zy=C=>%qXuUK~EATpz57aJ@Vv53LDv{(CWpXwGkOKrLLv|y(Sb}X9UbhKnP5=8^w|kPy-w(-=%C{#DDXnBF5Xw2jalLOCQs^3 zCGg$AR3noi}yCGq~!IY*ar$XR(FF>Pd!d1`zu z3CwhM;YYxSr+RjSU*7v2wJqSXVZ;@L_se7g!a$hv>S($Cc~T$Tvo^p&F|Vi6+W3z5 zmcvRLN|riyHkiE3*PPd+TvM$~dbKD(q6eC_RC#Z60uF$lNSJ`9w$XjZjPv4yoO{!N zof1{v^;8uaGAJw@0-EF4cxmbMdR3!aA%uH0YJFiNblgmsqn#)n{2d=ss<|fNt+>7} zF_N09ST|R;Luq5g(R*)<)cV9#`Rn77%bZ1t!|q2s0zI7{5uN<;*kv8QosAmTe9eQE zX47?nBf(1N!{07ra4SFDU%!G;r8xmf17%uEtlb=!h96~z#v$8smDCz`!{VA|+(B7p zg#`7~Jz@7z^nUckd>uhixF&vS(BV~QNC8csM~*5 zzm~Wgw%o%=aFJX&q~Y^cVCQI2itPOcwMKTjQ0icR`T#xIZr!r9;#CoG95{<~J<3a< z8M0gjc02b}3{!W3nV)Bx%J>ns#+GYvy;T`t;c5XMc#tj|wyrM~qz^LMu(H(t9rcru zJb%N11ir_BjjSR*A}INO!_Ri_ z#Z__xhf`3NuUUu4W{L4;ftM&wgzztdVkB}oMN{%B{Egudt-ZC!lBv~)vdc= z!UK}{dJrmPH^Vd6e#%inTTXj##Tul70!`Q{F*|?g1`s4}bFr}x!n7O!lIJ>rk8{;c zq!|4F!L8I@{T@CN<3uo3Xn$0JI%fSA!^iwNqdURXAyo!ZZ*M7t27Zl&9WSLDV`D)( zY$lML%S}76m*Q*sZRNeL+wDm)PY<5E>xn*g?jJy8H68fH zkaIsi&*_;$l;>TCPYr&F*t^*&5OUuzekh*BysqDMyKQ_;?Zy=~YG$9a2>S?d?j3zy>d|Z;@vbmPwK;7!c5;`Lq49jqhnZVyaIQyquD<__A%#tv%+U zzq$V(wfDHxC#r}Wmm>&QeZU@O0r!h6EewD^N*J%Sz=hH-WGp$Z0pjBC!AZOhwz0p4u^&_%TuyE znLo#VXVb23;1e2`K;-mXCh}u}TStOB$c4*rt2S;5&5wFgo+tHc)~E16=7S!o z^j$4xDmF0}){1_pDH-_a+3DyMA0)9m#UkIs9e#b02iD+G)|QEbD7T_4qo-p+vA_)X zk)ifaV-AwQxG$gSyRC{De~y}s4I<4hVA{Ys}$FgwfNd%;QJEtxK%=4K-NUe+&;rEV8c z?YdMMezr9?6fSjUaBeorQ^m70A$4)5$XYbDT+#s%@kN8IAMs>l6PAWv-n_v=kP;PA zSp`q?opnHi*7!Vb3@&#^T(2f1n60L%M1P$+cU<9!8w|4MySlAfj4in)$*_c&-f>^Ul%7cxN@B3 z9y6HW>yYQh@! zsxv9o(1#vddroFDL`Enrt{m_&#W#jC9Jt&mdYndFnx`91l2QjxKv#|phy;aPKlcsQ zo&hdR^!Lehw*XCIYMtc#e;^iZky+jc@@{@oLOH_e^&es|SSb6nBiAgNZ+Z5Fkjw^M z!hi0&4h%u@F>))@yQ--4S6Mkky1&7~mpDJ^2G#kw)hj#NiNAa+iOzqZ=$F35 z8_O|yZ7#|*_J0M0&kuw>xrjmwmmg#FW$&(Qeo%q#sw77ha887PHSZK&PWxiYmkU;c ziSg776qIw9^A2%QC}=Y@TO~6Ah~YWq8pF7=rh323BnP|{@w!%`F4TX*WFVDf(2lbk znJovG4P}bixV_t*2iTw3zy|FZjiBJiQVf7O0rOO}fRn5%nO`SYlrlBc7hdveC?mQZVk0 z;i|q%-$w$koswx+hpm%qQ$?pUk|U`v5^O%wx00GtT5~v-PRqP+QxnTEkuWGPGKP9iT&#O4FcoCH zV$rbePrY*9{gOo%oAH1DNZZwx<|a7e%}IB=O+5E=UD}JfEKwgZL+`c$EeM*_yGn&k zV^!G8HmH}24u2K0+U#KKut;k%i3uw`r(k<(l>hyXqXvJL{URQ<=0y3RA~;j9b=EEl z+NcI8MWXqnP#ou=;Y^dA!-hJEpI)veJ|l>JvyoG`_S+}sCCt~at)G7lyW>W!mDGN* zm&FOn58QFRb(stnD2jU9Bszr{xk8<7OG&EYdN!p0f{utq*Rem5+Z}+AeY1j`OyCbg zu>durQHm~Me3RZGT_4+fkU+QpwKpR0f-gxl)9Z5yl@?Ke~wHzf`ZyFm)5Wx0js3y!)$@6$)Atx03e}pLhpOZ<+AQ{ z1vTrQ!9SFWq?}nicZnrpax2(SVu<#C=>B&iV2JnbYfy-WlTnuy1W*TJDKBjfXh=r# zBGDt8k7|xMGNpkiqxv6-lR>Nq0eN3zG3)yu~7y5Wek8oaaNn%nju za!$O6mMu(qtr)^wsQum0&nzjVs!nwJn9rBOW`^N+uCt||O+16FVm)cEz!7VW;l*NWw>E+YIKAD?%N3 zVaa`*Oq#4)LRfvG4IK~yPR|Dm7R%SLCLz(8*h`EnO3 z8W#N@ER_iTt?}f>%=FQs^Sa`XXq znI)Pzim?Oqu39T60$^DLk4bfxV9>AvWAeE;Zf_vl*VlG|F%tzKJZaZ8xEgrs%ZLn7MMmzX0<79Q>$wgyS+*g4RQAV63|erp?bAf8 zajgIS_M4%O->PcWcw(6Bawn;gLqdsC&f7!T{`cr8&{aHG(wqsA`-J^MXV>?(jp@Q(P8=f|_ zp0hgJVl;j?fMRYO5#V{^g5lXrrF0Y-kO?Sl70jv{4 zG!R6h0OFc(+&9WnW8}$oMk&TbRHR%LgtJ9{@hXC%-MH^`^8?}qf;||LzBH4i6aP(g z3j>J#%i`HWoGtN*qyzpvYxgn{?MDoc7qVD~Ud-dOx6AM(1B z_*==k7wU90E$6`nz5~~Xx8WO;FH=r`?m-g} z0s8Edm==<;4B4ocACD#W6}>gsL3gNRpMIXa;4s}~wbSSI)xDF1oFzo84Rn$I;_@6Y_qvO{G; znTEwY`CQS#y)N|Oc@wp+eJi%*Q`cgL1*x>HoEjVpoJy{9pBCVHq%UB4s)z>jy8Bzs zgTS4d+|C*Vtl*AW2$)8+J)T#?#ENyx0(sv5)}yG5q=S@##|2Pue^He8Km9k(!@}q< z&SSX=3rqIac9S)lbv0u0nVgDakJwxoeK}!i=Zz#|P3wVi6Eehzf%!b!NP=88PI;qz zF+2S>YxMYQvO7;me=-RAGD9i;i+)5)uw(RgS)cO;X>sR85`ozDF0cqI5}CW+(C8=1 z4B>!@>Y(ZVdL(lSGao0$jALDg6}N7)!7faiZIN&zevl=Ii`cQrs4|(5w8AP3ly~7} z4>u?=(D)9+#(uam+g%%&mT3sV9;)r?|5!0Z!{?+)oyVrNZ{QfCJKZRKY;_}OOpz+0 zPJpJyY^bO~vDzt*E7p0XTioTNOZ~KrOITaRe3S_cJ$i$85(i&%nN=B6k!X_dZrl6F1a)J__3CG~5g_a|IRdC|?ihq*6MRVhZT>Tg5+ z-H8-Ak)`#9W3jnOH>0=n)nLK1+{lKee|#K@7RiG1Uo6;Jb~>a_iP1`n!2%Nz6Qd1- z^*Il(cBkGVxg1+>B45oajCb)Kx3zejlxZ%u9P~yZOCTwr$P!0mI?}7H2%SJ z4w6_5Vf4AdsGKtlsxbd@obqDCrgb%Wg3@NK?od;6sao?B(npE8o4c1N*B?fu3n3`D z5cQh$ik?Dca}l76duZG2Lawl8MACulu9WsWZHdp}Ein9)5zKUe3eQg5}WJn2k< zb-R@@N^0lZE-%=QPpfMr_{n^DtwCrnmE(IS{w)$An&2DXb7H3I&6MLqD?ovokg;UcX~n*^<{8we(`?#8^= zNaRK+k_{%863CLXT-ehRh~-$8&fUeGZhPlaQMQDwSU-3*g`t+lr!I3K?pr^{J5xtVkB4MxaBx>$ z)SwF3)m*ebfLtb{9t)8{8yCr+JFcqFX$`dZS$HwEce&ho#mCTc&P%_tLCg8WiWHuv zZ7Clo&*v2*<#--Bdvm?2ppQYpIrX@;;r-lI7lwZD1%MfbX=@~1$!>&LY_HpHEr4tD zN()8;y~l{Nw=Al`?W&DZPJ8|l_SjH@Z)0^;`QXOJMRV9tCN*9HB4SMvI{nc|!7-Aw zg{oI6^W3sxEyuhDd1v9N4-ssGplOHiR?kUP9HqMV$;UP+xXg)j#n}(49E~ZYCMwE`(IBYC?k!^+sRR&=hbR#~VQbu8rPm1wMFOH8=M zct^{uqOvmSd1t`gL5hYs8*p`1FNM#;`D!cR&gZr~ab7TT+e9v8#FX^URS`^t8q?|f zsP$>?G0HM%j&zY}#cM>f92R{uSm=4wZqeC&0ko=^Ps~42<=Mt-;bfOo=60Rlq^U;B z&{%%@>M@pejs|w7or?^O(tu>$A)iKq+noeJH}7Ke*sZ)-i4(+lmU!ZW0VDnyAPFQh zkKxPWw*uavf|*JaKT}y3pd95xo^w=N*ycHWV#rKKp;|A-ww+4Q7NtcLvPZ2;nE7Wu zhKOYH!<11w>d$t+E;8h~mz`A+<}B=}MPU6GYq#JQd8IY|S8Gv_UMaku%VPmU!0^89 zyV@_Bx4Rb_<2h4@*<=cbx8R#O5fL6!XBaL*R6!yPDBHdul|5?xBL&B_%Wpd8PI^}f zja6gEk06o>nz3|V^VVGhKiE_bo3M8nv2qIWuv1U)+uM2H#MbRT4+Gyoy^pZ-?MS9Q z@%@-^DJlfZIi_;ZNPqO;CBHe?eB@{b`>V9@Q|nm#U|&*q9@~vEP5Ae^8FCae4^I@( zZqZ=7v)z14g=YD3n1-&GI}$~*(<6e}Z&MCOIXvzurfDs&N%D>8LDmhZ$j}4V)Sm0e z_591iTCdn&ENd+nOm~IfpGu>6j-W?PBMtmgX4KuJtLc@iZKeB)IS#nKX@w;YCq4S; z#L}+pIt5Dmbi%|DCtVns8U8ujjO)$-NvDj9gl4inZh=0``j&@5g&_0MehdU`2Ayb9 ziOBvSB)pneuvirxMJhomu?Q)~Ieg%UiI@*i?}>gu2L7ZEbK)#@VF+5K!PAU zpgbEz9rnL}{MQ%KpkO|x;YN`D>EmA={nz0K Date: Fri, 28 May 2021 15:18:32 +0000 Subject: [PATCH 05/15] Auto-update README --- README.md | 67 +++++++++++++++++++--------------------------------- README_fr.md | 63 ++++++++++++++++-------------------------------- 2 files changed, 44 insertions(+), 86 deletions(-) diff --git a/README.md b/README.md index e37b36f..9326237 100644 --- a/README.md +++ b/README.md @@ -1,63 +1,42 @@ + + # GitLab for YunoHost -[![Integration level](https://dash.yunohost.org/integration/gitlab.svg)](https://dash.yunohost.org/appci/app/gitlab) ![](https://ci-apps.yunohost.org/ci/badges/gitlab.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/gitlab.maintain.svg) +[![Integration level](https://dash.yunohost.org/integration/gitlab.svg)](https://dash.yunohost.org/appci/app/gitlab) ![](https://ci-apps.yunohost.org/ci/badges/gitlab.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/gitlab.maintain.svg) [![Install GitLab with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=gitlab) *[Lire ce readme en français.](./README_fr.md)* -> *This package allow you to install GitLab quickly and simply on a YunoHost server. -If you don't have YunoHost, please see [here](https://yunohost.org/#/install) to know how to install and enjoy it.* +> *This package allows you to install GitLab quickly and simply on a YunoHost server. +If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* ## Overview -GitLab is a web-based Git-repository manager providing wiki, issue-tracking and CI/CD pipeline features, using an open-source license, developed by GitLab Inc. +Git-repository manager providing wiki, issue-tracking and CI/CD pipeline features. -**Shipped version:** 13.12.1 +**Shipped version:** 13.12.1~ynh1 + +**Demo:** https://gitlab.com/explore ## Screenshots -![](https://upload.wikimedia.org/wikipedia/commons/9/9a/GitLab_running_11.0_%282018-07%29.png) +![](./doc/screenshots/GitLab_running_11.0_(2018-07).png) -## Configuration +## Documentation and resources -How to configure GitLab: +* Official app website: https://gitlab.com +* Official user documentation: https://yunohost.org/fr/app_gitlab +* Official admin documentation: https://docs.gitlab.com/ +* Upstream app code repository: https://gitlab.com/gitlab-org/omnibus-gitlab - https://gitlab.com/gitlab-org/gitlab +* YunoHost documentation for this app: https://yunohost.org/app_gitlab +* Report a bug: https://github.com/YunoHost-Apps/gitlab_ynh/issues -- With the GitLab admin panel. -- By editing the configuration file `/etc/gitlab/gitlab-persistent.rb` (use `sudo gitlab-ctl reconfigure` after any modification of this file). +## Developer info -## Documentation - - * Official documentation: https://docs.gitlab.com/ce/README.html - * YunoHost documentation: https://yunohost.org/#/app_gitlab - -## YunoHost specific features - -#### Multi-users support - -* Are LDAP and HTTP auth supported? **Yes** -* Can the app be used by multiple users? **Yes** - -#### Supported architectures - -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/gitlab%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/gitlab/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/gitlab%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/gitlab/) - -## Limitations - -* GitLab is not compatible with 32-bit architectures. - -## Links - - * Report a bug: https://github.com/YunoHost-Apps/gitlab_ynh/issues - * App website: https://gitlab.com - * Upstream app repository: https://gitlab.com/gitlab-org/omnibus-gitlab - https://gitlab.com/gitlab-org/gitlab-ce - * YunoHost website: https://yunohost.org/ - ---- - -## Developers info - -Please do your pull request to the [testing branch](https://github.com/YunoHost-Apps/gitlab_ynh/tree/testing). +Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/gitlab_ynh/tree/testing). To try the testing branch, please proceed like that. ``` @@ -65,3 +44,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/gitlab_ynh/tree/testi or sudo yunohost app upgrade gitlab -u https://github.com/YunoHost-Apps/gitlab_ynh/tree/testing --debug ``` + +**More info regarding app packaging:** https://yunohost.org/packaging_apps \ No newline at end of file diff --git a/README_fr.md b/README_fr.md index 9353268..9f8c610 100644 --- a/README_fr.md +++ b/README_fr.md @@ -1,59 +1,34 @@ # GitLab pour YunoHost -[![Integration level](https://dash.yunohost.org/integration/gitlab.svg)](https://dash.yunohost.org/appci/app/gitlab) ![](https://ci-apps.yunohost.org/ci/badges/gitlab.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/gitlab.maintain.svg) -[![Installer GitLab pour YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=gitlab) +[![Niveau d'intégration](https://dash.yunohost.org/integration/gitlab.svg)](https://dash.yunohost.org/appci/app/gitlab) ![](https://ci-apps.yunohost.org/ci/badges/gitlab.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/gitlab.maintain.svg) +[![Installer GitLab avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=gitlab) -*[Read this readme in english.](./README.md)* +*[Read this readme in english.](./README.md)* +*[Lire ce readme en français.](./README_fr.md)* -> *Ce package vous permet d'installer GitLab rapidement et simplement sur un serveur YunoHost. -Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.* +> *This package allows you to install GitLab quickly and simply on a YunoHost server. +If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* ## Vue d'ensemble -GitLab est un gestionnaire Web de dépôt Git fournissant des fonctionnalités de wiki, de rapports de bugs et de pipeline CI/CD. GitLab est une application open source développée par GitLab Inc. +Gestionnaire de dépôts Git proposant des fonctionnalités de wiki, suivi de bugs et de pipeline CI/CD. -**Version incluse :** 13.12.1 +**Version incluse:** 13.12.1~ynh1 + +**Démo :** https://gitlab.com/explore ## Captures d'écran -![](https://upload.wikimedia.org/wikipedia/commons/9/9a/GitLab_running_11.0_%282018-07%29.png) +![](./doc/screenshots/GitLab_running_11.0_(2018-07).png) -## Configuration +## Documentations et ressources -Comment configurer GitLab : - -- Avec le panneau d'administration de GitLab. -- En éditant le fichier de configuration `/etc/gitlab/gitlab-persistent.rb` et en éxécutant la commande `sudo gitlab-ctl reconfigure` pour réactualiser la configuration. - -## Documentation - - * Documentation officielle : https://docs.gitlab.com/ce/README.html - * Documentation YunoHost : https://yunohost.org/#/app_gitlab_fr - -## Caractéristiques spécifiques YunoHost - -#### Support multi-utilisateurs - -* L'authentification LDAP et HTTP est-elle prise en charge ? **Oui** -* L'application peut-elle être utilisée par plusieurs utilisateurs ? **Oui** - -#### Architectures supportées - -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/gitlab%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/gitlab/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/gitlab%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/gitlab/) - -## Limitations - -* L'application GitLab n'est pas compatible avec les architectures 32-bit. - -## Liens - - * Signaler un bug : https://github.com/YunoHost-Apps/gitlab_ynh/issues - * Site de l'application : https://gitlab.com - * Dépôt de l'application principale : https://gitlab.com/gitlab-org/omnibus-gitlab - https://gitlab.com/gitlab-org/gitlab-ce - * Site web YunoHost : https://yunohost.org/ - ---- +* Site officiel de l'app : https://gitlab.com +* Documentation officielle utilisateur : https://yunohost.org/fr/app_gitlab +* Documentation officielle de l'admin : https://docs.gitlab.com/ +* Dépôt de code officiel de l'app : https://gitlab.com/gitlab-org/omnibus-gitlab - https://gitlab.com/gitlab-org/gitlab +* Documentation YunoHost pour cette app : https://yunohost.org/app_gitlab +* Signaler un bug: https://github.com/YunoHost-Apps/gitlab_ynh/issues ## Informations pour les développeurs @@ -65,3 +40,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/gitlab_ynh/tree/testi or sudo yunohost app upgrade gitlab -u https://github.com/YunoHost-Apps/gitlab_ynh/tree/testing --debug ``` + +**Plus d'infos sur le packaging d'applications:** https://yunohost.org/packaging_apps \ No newline at end of file From f7b0b88833d1f78cb4d9b072fadee4f4fea862c9 Mon Sep 17 00:00:00 2001 From: Kay0u Date: Sun, 30 May 2021 16:45:36 +0200 Subject: [PATCH 06/15] port_puma => puma_port --- scripts/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index 52f6008..34d2bb3 100644 --- a/scripts/install +++ b/scripts/install @@ -87,7 +87,7 @@ ynh_script_progression --message="Find internal port..." --weight=1 # Find free ports port=$(ynh_find_port --port=8080) puma_port=$(ynh_find_port --port=$(($port + 1))) -sidekiq_port=$(ynh_find_port --port=$(($port_puma + 1))) +sidekiq_port=$(ynh_find_port --port=$(($puma_port + 1))) ynh_app_setting_set --app=$app --key=web_port --value=$port ynh_app_setting_set --app=$app --key=puma_port --value=$puma_port From edb4254870e34260d0328b5c84f4753d63d89097 Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Sun, 30 May 2021 14:47:11 +0000 Subject: [PATCH 07/15] Auto-update README --- README.md | 2 +- README_fr.md | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 9326237..67208ff 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ Git-repository manager providing wiki, issue-tracking and CI/CD pipeline feature * Official app website: https://gitlab.com * Official user documentation: https://yunohost.org/fr/app_gitlab * Official admin documentation: https://docs.gitlab.com/ -* Upstream app code repository: https://gitlab.com/gitlab-org/omnibus-gitlab - https://gitlab.com/gitlab-org/gitlab +* Upstream app code repository: https://gitlab.com/gitlab-org/omnibus-gitlab - https://gitlab.com/gitlab-org/gitlab * YunoHost documentation for this app: https://yunohost.org/app_gitlab * Report a bug: https://github.com/YunoHost-Apps/gitlab_ynh/issues diff --git a/README_fr.md b/README_fr.md index 9f8c610..7cd8448 100644 --- a/README_fr.md +++ b/README_fr.md @@ -6,16 +6,16 @@ *[Read this readme in english.](./README.md)* *[Lire ce readme en français.](./README_fr.md)* -> *This package allows you to install GitLab quickly and simply on a YunoHost server. -If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* +> *Ce package vous permet d'installer GitLab rapidement et simplement sur un serveur YunoHost. +Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.* ## Vue d'ensemble Gestionnaire de dépôts Git proposant des fonctionnalités de wiki, suivi de bugs et de pipeline CI/CD. -**Version incluse:** 13.12.1~ynh1 +**Version incluse :** 13.12.1~ynh1 -**Démo :** https://gitlab.com/explore +**Démo :** https://gitlab.com/explore ## Captures d'écran @@ -23,12 +23,12 @@ Gestionnaire de dépôts Git proposant des fonctionnalités de wiki, suivi de bu ## Documentations et ressources -* Site officiel de l'app : https://gitlab.com -* Documentation officielle utilisateur : https://yunohost.org/fr/app_gitlab -* Documentation officielle de l'admin : https://docs.gitlab.com/ -* Dépôt de code officiel de l'app : https://gitlab.com/gitlab-org/omnibus-gitlab - https://gitlab.com/gitlab-org/gitlab -* Documentation YunoHost pour cette app : https://yunohost.org/app_gitlab -* Signaler un bug: https://github.com/YunoHost-Apps/gitlab_ynh/issues +* Site officiel de l'app : https://gitlab.com +* Documentation officielle utilisateur : https://yunohost.org/fr/app_gitlab +* Documentation officielle de l'admin : https://docs.gitlab.com/ +* Dépôt de code officiel de l'app : https://gitlab.com/gitlab-org/omnibus-gitlab - https://gitlab.com/gitlab-org/gitlab +* Documentation YunoHost pour cette app : https://yunohost.org/app_gitlab +* Signaler un bug : https://github.com/YunoHost-Apps/gitlab_ynh/issues ## Informations pour les développeurs @@ -37,8 +37,8 @@ Merci de faire vos pull request sur la [branche testing](https://github.com/Yuno Pour essayer la branche testing, procédez comme suit. ``` sudo yunohost app install https://github.com/YunoHost-Apps/gitlab_ynh/tree/testing --debug -or +ou sudo yunohost app upgrade gitlab -u https://github.com/YunoHost-Apps/gitlab_ynh/tree/testing --debug ``` -**Plus d'infos sur le packaging d'applications:** https://yunohost.org/packaging_apps \ No newline at end of file +**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps \ No newline at end of file From 9be5b72e70024952bbddfa554cc4c8a58b7465f2 Mon Sep 17 00:00:00 2001 From: Kay0u Date: Sun, 30 May 2021 17:17:13 +0200 Subject: [PATCH 08/15] Fix auto readme --- doc/{ DISCLAIMER.md => DISCLAIMER.md} | 0 doc/{ DISCLAIMER_fr.md => DISCLAIMER_fr.md} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename doc/{ DISCLAIMER.md => DISCLAIMER.md} (100%) rename doc/{ DISCLAIMER_fr.md => DISCLAIMER_fr.md} (100%) diff --git a/doc/ DISCLAIMER.md b/doc/DISCLAIMER.md similarity index 100% rename from doc/ DISCLAIMER.md rename to doc/DISCLAIMER.md diff --git a/doc/ DISCLAIMER_fr.md b/doc/DISCLAIMER_fr.md similarity index 100% rename from doc/ DISCLAIMER_fr.md rename to doc/DISCLAIMER_fr.md From 8dd7f492a29efea68b24a2b5cd967c86557d22d6 Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Sun, 30 May 2021 15:17:35 +0000 Subject: [PATCH 09/15] Auto-update README --- README.md | 17 +++++++++++++++++ README_fr.md | 17 +++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/README.md b/README.md index 67208ff..18c828b 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,23 @@ Git-repository manager providing wiki, issue-tracking and CI/CD pipeline feature ![](./doc/screenshots/GitLab_running_11.0_(2018-07).png) +## Disclaimers / important information + +## Configuration + +How to configure GitLab: + +- With the GitLab admin panel. +- By editing the configuration file `/etc/gitlab/gitlab-persistent.rb` (use `sudo gitlab-ctl reconfigure` after any modification of this file). + +#### Multi-users support + +* Are LDAP and HTTP auth supported? **Yes** +* Can the app be used by multiple users? **Yes** + +## Limitations + +* GitLab is not compatible with 32-bit architectures. ## Documentation and resources * Official app website: https://gitlab.com diff --git a/README_fr.md b/README_fr.md index 7cd8448..d784e3a 100644 --- a/README_fr.md +++ b/README_fr.md @@ -21,6 +21,23 @@ Gestionnaire de dépôts Git proposant des fonctionnalités de wiki, suivi de bu ![](./doc/screenshots/GitLab_running_11.0_(2018-07).png) +## Avertissements / informations importantes + +## Configuration + +Comment configurer GitLab : + +- Avec le panneau d'administration de GitLab. +- En éditant le fichier de configuration `/etc/gitlab/gitlab-persistent.rb` et en éxécutant la commande `sudo gitlab-ctl reconfigure` pour réactualiser la configuration. + +#### Support multi-utilisateurs + +* L'authentification LDAP et HTTP est-elle prise en charge ? **Oui** +* L'application peut-elle être utilisée par plusieurs utilisateurs ? **Oui** + +## Limitations + +* L'application GitLab n'est pas compatible avec les architectures 32-bit. ## Documentations et ressources * Site officiel de l'app : https://gitlab.com From 851c7089b1e8d67ace7dcf961e7b220427c092df Mon Sep 17 00:00:00 2001 From: Kay0u Date: Sun, 30 May 2021 17:18:49 +0200 Subject: [PATCH 10/15] H3 --- doc/DISCLAIMER.md | 6 +++--- doc/DISCLAIMER_fr.md | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md index d53915e..9509b26 100644 --- a/doc/DISCLAIMER.md +++ b/doc/DISCLAIMER.md @@ -1,15 +1,15 @@ -## Configuration +### Configuration How to configure GitLab: - With the GitLab admin panel. - By editing the configuration file `/etc/gitlab/gitlab-persistent.rb` (use `sudo gitlab-ctl reconfigure` after any modification of this file). -#### Multi-users support +### Multi-users support * Are LDAP and HTTP auth supported? **Yes** * Can the app be used by multiple users? **Yes** -## Limitations +### Limitations * GitLab is not compatible with 32-bit architectures. \ No newline at end of file diff --git a/doc/DISCLAIMER_fr.md b/doc/DISCLAIMER_fr.md index 5e8c4e7..298cdad 100644 --- a/doc/DISCLAIMER_fr.md +++ b/doc/DISCLAIMER_fr.md @@ -1,15 +1,15 @@ -## Configuration +### Configuration Comment configurer GitLab : - Avec le panneau d'administration de GitLab. - En éditant le fichier de configuration `/etc/gitlab/gitlab-persistent.rb` et en éxécutant la commande `sudo gitlab-ctl reconfigure` pour réactualiser la configuration. -#### Support multi-utilisateurs +### Support multi-utilisateurs * L'authentification LDAP et HTTP est-elle prise en charge ? **Oui** * L'application peut-elle être utilisée par plusieurs utilisateurs ? **Oui** -## Limitations +### Limitations * L'application GitLab n'est pas compatible avec les architectures 32-bit. \ No newline at end of file From e60e3012bdf63a762d0dc557bfeb9a7db91341e6 Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Sun, 30 May 2021 15:19:06 +0000 Subject: [PATCH 11/15] Auto-update README --- README.md | 6 +++--- README_fr.md | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 18c828b..394f251 100644 --- a/README.md +++ b/README.md @@ -27,19 +27,19 @@ Git-repository manager providing wiki, issue-tracking and CI/CD pipeline feature ## Disclaimers / important information -## Configuration +### Configuration How to configure GitLab: - With the GitLab admin panel. - By editing the configuration file `/etc/gitlab/gitlab-persistent.rb` (use `sudo gitlab-ctl reconfigure` after any modification of this file). -#### Multi-users support +### Multi-users support * Are LDAP and HTTP auth supported? **Yes** * Can the app be used by multiple users? **Yes** -## Limitations +### Limitations * GitLab is not compatible with 32-bit architectures. ## Documentation and resources diff --git a/README_fr.md b/README_fr.md index d784e3a..44cdb71 100644 --- a/README_fr.md +++ b/README_fr.md @@ -23,19 +23,19 @@ Gestionnaire de dépôts Git proposant des fonctionnalités de wiki, suivi de bu ## Avertissements / informations importantes -## Configuration +### Configuration Comment configurer GitLab : - Avec le panneau d'administration de GitLab. - En éditant le fichier de configuration `/etc/gitlab/gitlab-persistent.rb` et en éxécutant la commande `sudo gitlab-ctl reconfigure` pour réactualiser la configuration. -#### Support multi-utilisateurs +### Support multi-utilisateurs * L'authentification LDAP et HTTP est-elle prise en charge ? **Oui** * L'application peut-elle être utilisée par plusieurs utilisateurs ? **Oui** -## Limitations +### Limitations * L'application GitLab n'est pas compatible avec les architectures 32-bit. ## Documentations et ressources From 0cdf04f65dddb527eec60733bdf7c884446f469b Mon Sep 17 00:00:00 2001 From: Kay0u Date: Sun, 30 May 2021 20:24:35 +0200 Subject: [PATCH 12/15] remove is_public in upgrade script --- doc/DISCLAIMER.md | 2 +- doc/DISCLAIMER_fr.md | 2 +- scripts/upgrade | 6 ------ 3 files changed, 2 insertions(+), 8 deletions(-) diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md index 9509b26..a5251a0 100644 --- a/doc/DISCLAIMER.md +++ b/doc/DISCLAIMER.md @@ -12,4 +12,4 @@ How to configure GitLab: ### Limitations -* GitLab is not compatible with 32-bit architectures. \ No newline at end of file +* GitLab is not compatible with 32-bit architectures. diff --git a/doc/DISCLAIMER_fr.md b/doc/DISCLAIMER_fr.md index 298cdad..ece504b 100644 --- a/doc/DISCLAIMER_fr.md +++ b/doc/DISCLAIMER_fr.md @@ -12,4 +12,4 @@ Comment configurer GitLab : ### Limitations -* L'application GitLab n'est pas compatible avec les architectures 32-bit. \ No newline at end of file +* L'application GitLab n'est pas compatible avec les architectures 32-bit. diff --git a/scripts/upgrade b/scripts/upgrade index 6992446..852b4c5 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -18,7 +18,6 @@ app=$YNH_APP_INSTANCE_NAME # Retrieve app settings domain=$(ynh_app_setting_get --app="$app" --key=domain) path_url=$(ynh_app_setting_get --app="$app" --key=path) -is_public=$(ynh_app_setting_get --app="$app" --key=is_public) final_path=$(ynh_app_setting_get --app=$app --key=final_path) config_path=$(ynh_app_setting_get --app=$app --key=config_path) port=$(ynh_app_setting_get --app="$app" --key=web_port) @@ -41,11 +40,6 @@ upgrade_type=$(ynh_check_app_version_changed) # ENSURE DOWNWARD COMPATIBILITY #================================================= -# Delete is_public if it exists -if [ ! -z $is_public ]; then - ynh_app_setting_delete --app=$app --key=is_public -fi - # If final_path doesn't exist, create it if [ -z "$final_path" ]; then final_path=/opt/$app From 8a6e9f3f9b667b3d14dcc0c75948eed239b7542c Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Sun, 30 May 2021 18:25:22 +0000 Subject: [PATCH 13/15] Auto-update README --- README.md | 1 + README_fr.md | 1 + 2 files changed, 2 insertions(+) diff --git a/README.md b/README.md index 394f251..2bb674c 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,7 @@ How to configure GitLab: ### Limitations * GitLab is not compatible with 32-bit architectures. + ## Documentation and resources * Official app website: https://gitlab.com diff --git a/README_fr.md b/README_fr.md index 44cdb71..d191b6f 100644 --- a/README_fr.md +++ b/README_fr.md @@ -38,6 +38,7 @@ Comment configurer GitLab : ### Limitations * L'application GitLab n'est pas compatible avec les architectures 32-bit. + ## Documentations et ressources * Site officiel de l'app : https://gitlab.com From 79e59e4dd446160b87c1852b98b1adc15b8cf9fc Mon Sep 17 00:00:00 2001 From: Kay0u Date: Mon, 31 May 2021 16:00:54 +0200 Subject: [PATCH 14/15] fix upgrade, fix file permission --- scripts/change_url | 5 ----- scripts/install | 9 ++------- scripts/upgrade | 8 ++------ 3 files changed, 4 insertions(+), 18 deletions(-) diff --git a/scripts/change_url b/scripts/change_url index f8f3b4e..22b4922 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -108,10 +108,7 @@ done #================================================= ynh_script_progression --message="Configure GitLab..." --weight=28 -ynh_backup_if_checksum_is_different --file="$config_path/gitlab.rb" - mkdir -p $config_path - cp -f $YNH_APP_BASEDIR/conf/gitlab.rb "$config_path/gitlab.rb" ssh_port=$(grep -P "Port\s+\d+" /etc/ssh/sshd_config | grep -P -o "\d+") @@ -122,8 +119,6 @@ generated_external_url="https://$domain${path_url%/}" ynh_add_config --template="$YNH_APP_BASEDIR/conf/gitlab.rb" --destination="$config_path/gitlab.rb" -ynh_store_file_checksum --file="$config_path/gitlab.rb" - #================================================= # RECONFIGURE GITLAB #================================================= diff --git a/scripts/install b/scripts/install index 34d2bb3..0fb5faf 100644 --- a/scripts/install +++ b/scripts/install @@ -169,7 +169,8 @@ ynh_script_progression --message="Preconfigure GitLab..." --weight=1 mkdir -p $config_path touch "$config_path/gitlab-persistent.rb" -chown admin: "$config_path/gitlab-persistent.rb" +chown root:root "$config_path/gitlab-persistent.rb" +chmod 640 "$config_path/gitlab-persistent.rb" cp -f $YNH_APP_BASEDIR/conf/gitlab.rb "$config_path/gitlab.rb" ssh_port=$(grep -P "Port\s+\d+" /etc/ssh/sshd_config | grep -P -o "\d+") @@ -178,12 +179,6 @@ generated_external_url="https://$domain${path_url%/}" ynh_add_config --template="$YNH_APP_BASEDIR/conf/gitlab.rb" --destination="$config_path/gitlab.rb" -#================================================= -# STORE THE CONFIG FILE CHECKSUM -#================================================= - -ynh_store_file_checksum --file="$config_path/gitlab.rb" - #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index 852b4c5..3725866 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -296,10 +296,7 @@ done #================================================= ynh_script_progression --message="Reconfigure GitLab..." --weight=13 -ynh_backup_if_checksum_is_different --file="$config_path/gitlab.rb" - mkdir -p $config_path - cp -f $YNH_APP_BASEDIR/conf/gitlab.rb "$config_path/gitlab.rb" ssh_port=$(grep -P "Port\s+\d+" /etc/ssh/sshd_config | grep -P -o "\d+") @@ -307,10 +304,9 @@ generated_external_url="https://$domain${path_url%/}" ynh_add_config --template="$YNH_APP_BASEDIR/conf/gitlab.rb" --destination="$config_path/gitlab.rb" -ynh_store_file_checksum --file="$config_path/gitlab.rb" - touch "$config_path/gitlab-persistent.rb" -chown admin: "$config_path/gitlab-persistent.rb" +chown root:root "$config_path/gitlab-persistent.rb" +chmod 640 "$config_path/gitlab-persistent.rb" gitlab-ctl reconfigure From 79291380c4b352d26d54316753bfe1805004838d Mon Sep 17 00:00:00 2001 From: Kay0u Date: Mon, 31 May 2021 16:03:41 +0200 Subject: [PATCH 15/15] fix add_config --- scripts/change_url | 1 - scripts/install | 1 - scripts/upgrade | 1 - 3 files changed, 3 deletions(-) diff --git a/scripts/change_url b/scripts/change_url index 22b4922..05a47b9 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -109,7 +109,6 @@ done ynh_script_progression --message="Configure GitLab..." --weight=28 mkdir -p $config_path -cp -f $YNH_APP_BASEDIR/conf/gitlab.rb "$config_path/gitlab.rb" ssh_port=$(grep -P "Port\s+\d+" /etc/ssh/sshd_config | grep -P -o "\d+") domain="$new_domain" diff --git a/scripts/install b/scripts/install index 0fb5faf..f4a22c8 100644 --- a/scripts/install +++ b/scripts/install @@ -172,7 +172,6 @@ touch "$config_path/gitlab-persistent.rb" chown root:root "$config_path/gitlab-persistent.rb" chmod 640 "$config_path/gitlab-persistent.rb" -cp -f $YNH_APP_BASEDIR/conf/gitlab.rb "$config_path/gitlab.rb" ssh_port=$(grep -P "Port\s+\d+" /etc/ssh/sshd_config | grep -P -o "\d+") generated_external_url="https://$domain${path_url%/}" diff --git a/scripts/upgrade b/scripts/upgrade index 3725866..6210aca 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -297,7 +297,6 @@ done ynh_script_progression --message="Reconfigure GitLab..." --weight=13 mkdir -p $config_path -cp -f $YNH_APP_BASEDIR/conf/gitlab.rb "$config_path/gitlab.rb" ssh_port=$(grep -P "Port\s+\d+" /etc/ssh/sshd_config | grep -P -o "\d+") generated_external_url="https://$domain${path_url%/}"