diff --git a/README.md b/README.md index 3b94fce..b90659b 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Git-repository manager providing wiki, issue-tracking and CI/CD pipeline features -**Shipped version:** 14.10.0~ynh1 +**Shipped version:** 15.0.0~ynh1 **Demo:** https://gitlab.com/explore diff --git a/README_fr.md b/README_fr.md index 007fc86..e95bc4e 100644 --- a/README_fr.md +++ b/README_fr.md @@ -13,7 +13,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour Gestionnaire de dépôts Git proposant des fonctionnalités de wiki, suivi de bugs et de pipeline CI/CD -**Version incluse :** 14.10.0~ynh1 +**Version incluse :** 15.0.0~ynh1 **Démo :** https://gitlab.com/explore diff --git a/conf/gitlab.rb b/conf/gitlab.rb index 9c967e4..13cf30b 100644 --- a/conf/gitlab.rb +++ b/conf/gitlab.rb @@ -292,7 +292,7 @@ external_url '__GENERATED_EXTERNAL_URL__' # gitlab_rails['incoming_email_idle_timeout'] = 60 ####! The file name for internal `mail_room` JSON logfile # gitlab_rails['incoming_email_log_file'] = "/var/log/gitlab/mailroom/mail_room_json.log" -####! Permanently remove messages from the mailbox when they are deleted after delivery +####! Permanently remove messages from the mailbox when they are marked as deleted after delivery # gitlab_rails['incoming_email_expunge_deleted'] = false #### Inbox options (for Microsoft Graph) @@ -347,8 +347,6 @@ external_url '__GENERATED_EXTERNAL_URL__' ####! Job artifacts Object Store ####! Docs: https://docs.gitlab.com/ee/administration/job_artifacts.html#using-object-storage # gitlab_rails['artifacts_object_store_enabled'] = false -# gitlab_rails['artifacts_object_store_direct_upload'] = false -# gitlab_rails['artifacts_object_store_background_upload'] = true # gitlab_rails['artifacts_object_store_proxy_download'] = false # gitlab_rails['artifacts_object_store_remote_directory'] = "artifacts" # gitlab_rails['artifacts_object_store_connection'] = { @@ -368,8 +366,6 @@ external_url '__GENERATED_EXTERNAL_URL__' # gitlab_rails['external_diffs_when'] = nil # gitlab_rails['external_diffs_storage_path'] = "/var/opt/gitlab/gitlab-rails/shared/external-diffs" # gitlab_rails['external_diffs_object_store_enabled'] = false -# gitlab_rails['external_diffs_object_store_direct_upload'] = false -# gitlab_rails['external_diffs_object_store_background_upload'] = false # gitlab_rails['external_diffs_object_store_proxy_download'] = false # gitlab_rails['external_diffs_object_store_remote_directory'] = "external-diffs" # gitlab_rails['external_diffs_object_store_connection'] = { @@ -388,8 +384,6 @@ external_url '__GENERATED_EXTERNAL_URL__' # gitlab_rails['lfs_enabled'] = true # gitlab_rails['lfs_storage_path'] = "/var/opt/gitlab/gitlab-rails/shared/lfs-objects" # gitlab_rails['lfs_object_store_enabled'] = false -# gitlab_rails['lfs_object_store_direct_upload'] = false -# gitlab_rails['lfs_object_store_background_upload'] = true # gitlab_rails['lfs_object_store_proxy_download'] = false # gitlab_rails['lfs_object_store_remote_directory'] = "lfs-objects" # gitlab_rails['lfs_object_store_connection'] = { @@ -410,8 +404,6 @@ external_url '__GENERATED_EXTERNAL_URL__' # gitlab_rails['uploads_storage_path'] = "/opt/gitlab/embedded/service/gitlab-rails/public" # gitlab_rails['uploads_base_dir'] = "uploads/-/system" # gitlab_rails['uploads_object_store_enabled'] = false -# gitlab_rails['uploads_object_store_direct_upload'] = false -# gitlab_rails['uploads_object_store_background_upload'] = true # gitlab_rails['uploads_object_store_proxy_download'] = false # gitlab_rails['uploads_object_store_remote_directory'] = "uploads" # gitlab_rails['uploads_object_store_connection'] = { @@ -664,17 +656,6 @@ EOS # "SKIP" => "db,uploads,repositories,builds,artifacts,lfs,registry,pages" #} -### Pseudonymizer Settings -# gitlab_rails['pseudonymizer_manifest'] = 'config/pseudonymizer.yml' -# gitlab_rails['pseudonymizer_upload_remote_directory'] = 'gitlab-elt' -# gitlab_rails['pseudonymizer_upload_connection'] = { -# 'provider' => 'AWS', -# 'region' => 'eu-west-1', -# 'aws_access_key_id' => 'AKIAKIAKI', -# 'aws_secret_access_key' => 'secret123' -# } - - ### For setting up different data storing directory ###! Docs: https://docs.gitlab.com/omnibus/settings/configuration.html#store-git-data-in-an-alternative-directory ###! **If you want to use a single non-default directory to store git data use a @@ -1049,6 +1030,15 @@ puma['port'] = __PUMA_PORT__ # puma['socket'] = '/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket' # puma['somaxconn'] = 1024 +### SSL settings +# puma['ssl_listen'] = nil +# puma['ssl_port'] = nil +# puma['ssl_certificate'] = nil +# puma['ssl_certificate_key'] = nil +# puma['ssl_client_certificate'] = nil +# puma['ssl_cipher_filter'] = nil +# puma['ssl_verify_mode'] = 'none' + # puma['pidfile'] = '/opt/gitlab/var/puma/puma.pid' # puma['state_path'] = '/opt/gitlab/var/puma/puma.state' @@ -1111,9 +1101,8 @@ sidekiq['listen_port'] = __SIDEKIQ_PORT__ ##! Specifies where health-check endpoints should be made available for Sidekiq processes. ##! Defaults to the same settings as for Prometheus metrics (see above). # sidekiq['health_checks_enabled'] = true -# sidekiq['health_checks_log_enabled'] = false # sidekiq['health_checks_listen_address'] = "localhost" -# sidekiq['health_checks_listen_port'] = 8082 +# sidekiq['health_checks_listen_port'] = 8092 ##! Service name used to register Sidekiq as a Consul service # sidekiq['consul_service_name'] = 'sidekiq' @@ -1297,6 +1286,10 @@ sidekiq['listen_port'] = __SIDEKIQ_PORT__ # Set this if you have disabled the bundled PostgreSQL but still want to use the backup rake tasks # postgresql['version'] = 10 + +##! Automatically restart PostgreSQL service when version changes. +# postgresql['auto_restart_on_version_change'] = true + ################################################################################ ## GitLab Redis ##! **Can be disabled if you are using your own Redis instance.** @@ -1385,6 +1378,7 @@ sidekiq['listen_port'] = __SIDEKIQ_PORT__ ####! Docs: https://redis.io/topics/replication#configuring-replication-in-docker-and-nat # redis['announce_ip'] = nil # redis['announce_port'] = nil +# redis['announce_ip_from_hostname'] = false ####! **Master password should have the same value defined in ####! redis['password'] to enable the instance to transition to/from @@ -1652,7 +1646,7 @@ nginx['listen_https'] = false ################################################################################ ## GitLab Pages -##! Docs: https://docs.gitlab.com/ee/pages/administration.html +##! Docs: https://docs.gitlab.com/ee/administration/pages/ ################################################################################ ##! Define to enable GitLab Pages @@ -1881,6 +1875,8 @@ nginx['listen_https'] = false # gitlab_kas['listen_websocket'] = true # gitlab_kas['certificate_file'] = "/path/to/certificate.pem" # gitlab_kas['key_file'] = "/path/to/key.pem" +# gitlab_kas['observability_listen_network'] = 'tcp' +# gitlab_kas['observability_listen_address'] = 'localhost:8151' # gitlab_kas['internal_api_listen_network'] = 'tcp' # gitlab_kas['internal_api_listen_address'] = 'localhost:8153' # gitlab_kas['internal_api_certificate_file'] = "/path/to/certificate.pem" @@ -2214,6 +2210,13 @@ nginx['listen_https'] = false ##! Manage gitlab-exporter sidekiq probes. false by default when Sentinels are ##! found. # gitlab_exporter['probe_sidekiq'] = true + +##! Manage gitlab-exporter elasticsearch probes. Add authorization header if security +##! is enabled. +# gitlab_exporter['probe_elasticsearch'] = false +# gitlab_exporter['elasticsearch_url'] = 'http://localhost:9200' +# gitlab_exporter['elasticsearch_authorization'] = 'Basic ' + ##! Service name used to register GitLab Exporter as a Consul service # gitlab_exporter['consul_service_name'] = 'gitlab-exporter' ##! Semantic metadata used when registering GitLab Exporter as a Consul service @@ -2451,6 +2454,8 @@ nginx['listen_https'] = false # } # } # } +# praefect['background_verification_verification_interval'] = "72h" +# praefect['background_verification_delete_invalid_records'] = false # praefect['sentry_dsn'] = "https://:@sentry.io/" # praefect['sentry_environment'] = "production" # praefect['auto_migrate'] = true @@ -2541,9 +2546,9 @@ package['modify_kernel_parameters'] = __MODIFY_KERNEL_PARAMETERS__ # gitlab_rails['ldap_sync_worker_cron'] = "30 1 * * *" # gitlab_rails['ldap_group_sync_worker_cron'] = "0 * * * *" # gitlab_rails['historical_data_worker_cron'] = "0 12 * * *" -# gitlab_rails['pseudonymizer_worker_cron'] = "0 23 * * *" # gitlab_rails['elastic_index_bulk_cron'] = "*/1 * * * *" # gitlab_rails['analytics_devops_adoption_create_all_snapshots_worker_cron'] = "0 4 * * 0" +# gitlab_rails['ci_runners_stale_group_runners_prune_worker_cron'] = "30 * * * *" ################################################################################ ## Kerberos (EE Only) @@ -2566,8 +2571,6 @@ package['modify_kernel_parameters'] = __MODIFY_KERNEL_PARAMETERS__ # gitlab_rails['packages_enabled'] = true # gitlab_rails['packages_storage_path'] = "/var/opt/gitlab/gitlab-rails/shared/packages" # gitlab_rails['packages_object_store_enabled'] = false -# gitlab_rails['packages_object_store_direct_upload'] = false -# gitlab_rails['packages_object_store_background_upload'] = true # gitlab_rails['packages_object_store_proxy_download'] = false # gitlab_rails['packages_object_store_remote_directory'] = "packages" # gitlab_rails['packages_object_store_connection'] = { @@ -2590,8 +2593,6 @@ package['modify_kernel_parameters'] = __MODIFY_KERNEL_PARAMETERS__ # gitlab_rails['dependency_proxy_enabled'] = true # gitlab_rails['dependency_proxy_storage_path'] = "/var/opt/gitlab/gitlab-rails/shared/dependency_proxy" # gitlab_rails['dependency_proxy_object_store_enabled'] = false -# gitlab_rails['dependency_proxy_object_store_direct_upload'] = false -# gitlab_rails['dependency_proxy_object_store_background_upload'] = true # gitlab_rails['dependency_proxy_object_store_proxy_download'] = false # gitlab_rails['dependency_proxy_object_store_remote_directory'] = "dependency_proxy" # gitlab_rails['dependency_proxy_object_store_connection'] = { @@ -2759,6 +2760,9 @@ package['modify_kernel_parameters'] = __MODIFY_KERNEL_PARAMETERS__ # geo_postgresql['sql_user_password'] = 'SQL_USER_PASSWORD_HASH' # geo_postgresql['log_directory'] = '/var/log/gitlab/geo-postgresql' +##! Automatically restart PostgreSQL service when version changes. +# geo_postgresql['auto_restart_on_version_change'] = true + ################################################################################ ## GitLab Geo Log Cursor Daemon (EE only) ################################################################################ @@ -2825,9 +2829,8 @@ package['modify_kernel_parameters'] = __MODIFY_KERNEL_PARAMETERS__ # pgbouncer['auth_hba_file'] = nil # pgbouncer['auth_query'] = 'SELECT username, password FROM public.pg_shadow_lookup($1)' # pgbouncer['users'] = { -# { -# name: USERNAME, -# password: MD5_PASSWORD_HASH +# USERNAME: { +# 'password': MD5_PASSWORD_HASH, # } # } # postgresql['pgbouncer_user'] = nil diff --git a/manifest.json b/manifest.json index e114513..cec0fc8 100644 --- a/manifest.json +++ b/manifest.json @@ -2,7 +2,7 @@ "name": "GitLab", "id": "gitlab", "packaging_format": 1, - "version": "14.10.0~ynh1", + "version": "15.0.0~ynh1", "description": { "en": "Git-repository manager providing wiki, issue-tracking and CI/CD pipeline features", "fr": "Gestionnaire de dépôts Git proposant des fonctionnalités de wiki, suivi de bugs et de pipeline CI/CD" diff --git a/scripts/upgrade.d/upgrade.14.last.sh b/scripts/upgrade.d/upgrade.14.last.sh new file mode 100644 index 0000000..60daf7d --- /dev/null +++ b/scripts/upgrade.d/upgrade.14.last.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +gitlab_version="14.10.3" + +# sha256sum found here: https://packages.gitlab.com/gitlab +gitlab_debian_version="$(lsb_release -sc)" + +gitlab_x86_64_bullseye_source_sha256="6e9365b30d0d4efeebb84be43acb899fbd2e1fb077c86d66f18845b10789b63a" +gitlab_x86_64_buster_source_sha256="897c76a8df2a744ac9788e703a054e857366ec36f6aa7208ee130f89413eeb52" + +gitlab_arm64_bullseye_source_sha256="6b8fd05d4a9477272343f7e821fb713d4c85d015358352a0f45702dbf48d672a" +gitlab_arm64_buster_source_sha256="23e6393ed07254c3d34b09cdd8aa34af107ee7934471fe439315ef0249b45db8" + +gitlab_arm_buster_source_sha256="223d3081f660739363d4c240e229288f95392593b68c54afe5b18ca8fc6908c3" + +architecture=$(ynh_app_setting_get --app="$app" --key=architecture) + +if [ "$architecture" = "x86-64" ]; then + if [ "$gitlab_debian_version" = "bullseye" ] + then + gitlab_source_sha256=$gitlab_x86_64_bullseye_source_sha256 + elif [ "$gitlab_debian_version" = "buster" ] + then + gitlab_source_sha256=$gitlab_x86_64_buster_source_sha256 + fi +elif [ "$architecture" = "arm64" ]; then + if [ "$gitlab_debian_version" = "bullseye" ] + then + gitlab_source_sha256=$gitlab_arm64_bullseye_source_sha256 + elif [ "$gitlab_debian_version" = "buster" ] + then + gitlab_source_sha256=$gitlab_arm64_buster_source_sha256 + fi +elif [ "$architecture" = "arm" ]; then + # If the version for arm doesn't exist, then use an older one + if [ -z "$gitlab_arm_buster_source_sha256" ]; then + gitlab_version="14.10.3" + gitlab_arm_buster_source_sha256="223d3081f660739363d4c240e229288f95392593b68c54afe5b18ca8fc6908c3" + fi + gitlab_source_sha256=$gitlab_arm_buster_source_sha256 +fi + +gitlab_filename="gitlab-ce-${gitlab_version}.deb" + +# Action to do in case of failure of the package_check +package_check_action() { + ynh_backup_if_checksum_is_different --file="$config_path/gitlab.rb" + cat <> "$config_path/gitlab.rb" +# Last chance to fix Gitlab +package['modify_kernel_parameters'] = false +EOF + ynh_store_file_checksum --file="$config_path/gitlab.rb" +} diff --git a/scripts/upgrade.d/upgrade.last.sh b/scripts/upgrade.d/upgrade.last.sh index 084d47e..9b7b812 100644 --- a/scripts/upgrade.d/upgrade.last.sh +++ b/scripts/upgrade.d/upgrade.last.sh @@ -1,17 +1,17 @@ #!/bin/bash -gitlab_version="14.10.0" +gitlab_version="15.0.0" # sha256sum found here: https://packages.gitlab.com/gitlab gitlab_debian_version="$(lsb_release -sc)" -gitlab_x86_64_bullseye_source_sha256="6f7a1ba6c263f0eaeee909a2c3134b894aae3c203de37d7e2ebffd67e9949619" -gitlab_x86_64_buster_source_sha256="85489ced3b9ae2ba87c6e76c4fcb0a5cf0b6f93cf302ab22bb73e50ba233aa19" +gitlab_x86_64_bullseye_source_sha256="978d97dc5fefff63a0cbf0aab81866bd8eac731b3a2f68eec768b8ca50c9250b" +gitlab_x86_64_buster_source_sha256="459573c203ebde054eefb31f0d9959585b64737d0cddeec3d7dcacd1560d7fa9" -gitlab_arm64_bullseye_source_sha256="4b47d2acd4adc2f11217e162559cb128b32961a88d3aecd668847077f83d6a37" -gitlab_arm64_buster_source_sha256="611f7a3184d1708cc1ad1d271e76104f1e3ec56e92bcf4bcb164760bd87b83dc" +gitlab_arm64_bullseye_source_sha256="ee5a4affd8a804aefce444e6cb06eecab0f73be64ad898b4cf3c6ab091685cce" +gitlab_arm64_buster_source_sha256="c65b4b9a2e9c964cb36fb9532992c493bf16ea62e1515d5b50ac89e5f27129f9" -gitlab_arm_buster_source_sha256="da62ffd3aba70b37f583a78000ecb0eeab774fe7e5de437e8823bd45b375ba02" +gitlab_arm_buster_source_sha256="4c9ed80c3c1d0aa067cec9470c09d2eb4410e605a5029a7353d74e17197a8e0d" architecture=$(ynh_app_setting_get --app="$app" --key=architecture) @@ -34,8 +34,8 @@ elif [ "$architecture" = "arm64" ]; then elif [ "$architecture" = "arm" ]; then # If the version for arm doesn't exist, then use an older one if [ -z "$gitlab_arm_buster_source_sha256" ]; then - gitlab_version="14.10.0" - gitlab_arm_buster_source_sha256="da62ffd3aba70b37f583a78000ecb0eeab774fe7e5de437e8823bd45b375ba02" + gitlab_version="15.0.0" + gitlab_arm_buster_source_sha256="4c9ed80c3c1d0aa067cec9470c09d2eb4410e605a5029a7353d74e17197a8e0d" fi gitlab_source_sha256=$gitlab_arm_buster_source_sha256 fi