Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • gitlab-org/omnibus-gitlab
  • jacobvosmaer/omnibus-gitlab
  • thorrsson/omnibus-gitlab
  • Drahamim/omnibus-gitlab
  • neonlex/omnibus-gitlab
  • csschwe/omnibus-gitlab
  • dblessing/omnibus-gitlab
  • mwessel/omnibus-gitlab
  • goniz/omnibus-gitlab
  • puiterwijk/omnibus-gitlab
  • roidelapluie/omnibus-gitlab
  • digital.pardoe/omnibus-gitlab
  • mnestor/omnibus-gitlab
  • e29qwg/omnibus-gitlab
  • michaelfenn87/omnibus-gitlab
  • sque/omnibus-gitlab
  • portman.chris/omnibus-gitlab
  • kay.strobach/omnibus-gitlab
  • deshke/omnibus-gitlab
  • axil/omnibus-gitlab
  • hatta0713/omnibus-gitlab
  • nmeth/omnibus-gitlab
  • derric/omnibus-gitlab
  • chjwdzhr/omnibus-gitlab
  • arunwizz/omnibus-gitlab
  • loushang001/omnibus-gitlab
  • jvrplmlmn/omnibus-gitlab
  • razer6/omnibus-gitlab
  • kode/omnibus-gitlab
  • 344208651/omnibus-gitlab
  • dionysiusmarquis/omnibus-gitlab
  • nfeliciano/omnibus-gitlab
  • mike12489/omnibus-gitlab
  • JobV/omnibus-gitlab
  • ashby/omnibus-gitlab
  • DavidS/omnibus-gitlab
  • alexandreab/omnibus-gitlab
  • ph1ll/omnibus-gitlab
  • bbodenmiller/omnibus-gitlab
  • kevwilde/omnibus-gitlab
  • Taylor1791/omnibus-gitlab
  • shen390s/omnibus-gitlab
  • Roger.Bai/omnibus-gitlab
  • sanderboom/omnibus-gitlab
  • genezys/omnibus-gitlab
  • nathansamson/omnibus-gitlab
  • boy12371/omnibus-gitlab
  • john-l-stechschulte/omnibus-gitlab
  • toalexjin/omnibus-gitlab
  • mattes/omnibus-gitlab
  • Thireus/omnibus-gitlab
  • stanhu/omnibus-gitlab
  • bdwyertech/omnibus-gitlab
  • hierarchy/omnibus-gitlab
  • LongLiveCHIEF/omnibus-gitlab
  • ssube/omnibus-gitlab
  • gabeio/omnibus-gitlab
  • petracvv/omnibus-gitlab
  • unixmediasrl/omnibus-gitlab
  • mryanb/omnibus-gitlab
  • masonjm/omnibus-gitlab
  • geoffrey-grebert/omnibus-gitlab
  • salsa-dev/omnibus-gitlab
  • karengc/omnibus-gitlab
  • matt-firtion/omnibus-gitlab
  • esemplare/omnibus-gitlab
  • owenspencer/omnibus-gitlab
  • headdetect/omnibus-gitlab
  • rdoursenaud/omnibus-gitlab
  • tduehr/omnibus-gitlab
  • liulu/omnibus-gitlab
  • codename/omnibus-gitlab
  • myovchev/omnibus-gitlab
  • hiroponz/omnibus-gitlab
  • wakin/omnibus-gitlab
  • jasonwbarnett/omnibus-gitlab
  • flesser/omnibus-gitlab
  • DennisRichard/omnibus-gitlab
  • luyh/omnibus-gitlab
  • nell/omnibus-gitlab
  • TomikoDemby/omnibus-gitlab
  • szechyjs/omnibus-gitlab
  • aussieaggie/omnibus-gitlab
  • chn/omnibus-gitlab
  • bjoernr-de/omnibus-gitlab
  • antons-/omnibus-gitlab
  • jurisdesk/omnibus-gitlab
  • jnijhof/omnibus-gitlab
  • matterbot/omnibus-gitlab
  • nvan/omnibus-gitlab
  • dzaporozhets/omnibus-gitlab
  • seweryn.zeman/omnibus-gitlab
  • ElsaSchmidlin/omnibus-gitlab
  • slovell/omnibus-gitlab
  • david.gammon/omnibus-gitlab
  • pdeffendol/omnibus-gitlab
  • tnir/omnibus-gitlab
  • rburgst/omnibus-gitlab
  • azahadsyed/omnibus-gitlab
  • pbouillet/omnibus-gitlab
  • tpdownes/omnibus-gitlab
  • franciscocg/omnibus-gitlab
  • Urchin/omnibus-gitlab
  • keson/omnibus-gitlab
  • jubianchi/omnibus-gitlab
  • clement.moyroud/omnibus-gitlab
  • mcfedr/omnibus-gitlab
  • patricio/omnibus-gitlab
  • blckshrk/omnibus-gitlab
  • mmonaco/omnibus-gitlab
  • mzaideel/omnibus-gitlab
  • dawg/omnibus-gitlab
  • kohenkatz/omnibus-gitlab
  • badloop/omnibus-gitlab
  • rkmylo/omnibus-gitlab
  • rannen/omnibus-gitlab
  • jicehef/omnibus-gitlab
  • Pascual/omnibus-gitlab
  • scottyates/omnibus-gitlab
  • rosiv/omnibus-gitlab
  • khiem291/omnibus-gitlab
  • lfbrock/omnibus-gitlab
  • yaohonv/omnibus-gitlab
  • jerez-leo13/omnibus-gitlab
  • mrexodia/omnibus-gitlab
  • sanjay_hp/omnibus-gitlab
  • chaosaffe/omnibus-gitlab
  • Kevin-Bannier/omnibus-gitlab
  • jeroenj/omnibus-gitlab
  • stevenorman/omnibus-gitlab
  • chrisruffalo/omnibus-gitlab
  • Kaoshae/omnibus-gitlab
  • francoisprunier/omnibus-gitlab
  • artem-forks/omnibus-gitlab
  • 0bject.destroy/omnibus-gitlab
  • bomba/omnibus-gitlab
  • lajfox/omnibus-gitlab
  • TC01/omnibus-gitlab
  • florian.hustede/omnibus-gitlab
  • bevin/omnibus-gitlab
  • 00dav00/omnibus-gitlab
  • manojskdm/omnibus-gitlab
  • 1beb/omnibus-gitlab
  • oova/omnibus-gitlab
  • frennkie/omnibus-gitlab
  • zwvc/omnibus-gitlab
  • glensc/omnibus-gitlab
  • ghasrfakhri/omnibus-gitlab
  • penweizgx/omnibus-gitlab
  • Dyscrete/omnibus-gitlab
  • aral/omnibus-gitlab
  • mxhcxp/omnibus-gitlab
  • wu0407/omnibus-gitlab
  • jmcgeheeiv/omnibus-gitlab
  • usr01/omnibus-gitlab
  • phsteve/omnibus-gitlab
  • jbyrd/omnibus-gitlab
  • stepheny038/omnibus-gitlab
  • andyGitlab/omnibus-gitlab
  • Pitel/omnibus-gitlab
  • nartamonov/omnibus-gitlab
  • ericidema/omnibus-gitlab
  • shockerli/omnibus-gitlab
  • MrChrisW/omnibus-gitlab
  • it33/omnibus-gitlab
  • cwz8202/omnibus-gitlab
  • MrEhbr/omnibus-gitlab
  • lupine/omnibus-gitlab
  • mattermost/omnibus-gitlab
  • esclear/omnibus-gitlab
  • jstsch/omnibus-gitlab
  • ei-grad/omnibus-gitlab
  • barodeur/omnibus-gitlab
  • brunsa2/omnibus-gitlab
  • jakob-englisch/omnibus-gitlab
  • widerin/omnibus-gitlab
  • permalance/omnibus-gitlab
  • luichan/omnibus-gitlab
  • sknolin/omnibus-gitlab
  • jamaya/omnibus-gitlab
  • slewis/omnibus-gitlab
  • gaariacg/omnibus-gitlab
  • Zorth/omnibus-gitlab
  • jacobvosmaer-gitlab/omnibus-gitlab
  • florianb1/omnibus-gitlab
  • paul.tath/omnibus-gitlab
  • truppproject/omnibus-gitlab
  • markpundsack/omnibus-gitlab
  • X0nic/omnibus-gitlab
  • joernhees/omnibus-gitlab
  • hedgehog/omnibus-gitlab
  • LTheobald/omnibus-gitlab
  • ousmaneTra/omnibus-gitlab
  • oyarzun/omnibus-gitlab
  • libresoftsolutions/omnibus-gitlab
  • kingcody/omnibus-gitlab
  • broftkd/omnibus-gitlab
  • dandunckelman/omnibus-gitlab
  • sluc23/omnibus-gitlab
  • abuango/omnibus-gitlab
  • sascha97915/omnibus-gitlab
  • bartlaarhoven/omnibus-gitlab
  • ngpestelos/omnibus-gitlab
  • gtrafimenkov/omnibus-gitlab
  • grenouillounette/omnibus-gitlab
  • clantant/omnibus-gitlab
  • Ferrisbane/omnibus-gitlab
  • cataphract/omnibus-gitlab
  • leebenson/omnibus-gitlab
  • ernetas/omnibus-gitlab
  • zeiv/omnibus-gitlab
  • narakuphoenix/omnibus-gitlab
  • Grey2k/omnibus-gitlab
  • akabir/omnibus-gitlab
  • OliverHrdz/omnibus-gitlab
  • rut2/omnibus-gitlab
  • jsk-txt/omnibus-gitlab
  • WarheadsSE/omnibus-gitlab
  • SuperPaintman/omnibus-gitlab
  • jasonblais/omnibus-gitlab
  • WheresAlice/omnibus-gitlab
  • ruvasik/omnibus-gitlab
  • ddude/omnibus-gitlab
  • Dantevolk/omnibus-gitlab
  • bronzdoc/omnibus-gitlab
  • nlaveck/omnibus-gitlab
  • halfgaar/omnibus-gitlab
  • ivadim/omnibus-gitlab
  • jgsqware/omnibus-gitlab
  • dserodio/omnibus-gitlab
  • hvlad/omnibus-gitlab
  • saucissound/omnibus-gitlab
  • whywaita/omnibus-gitlab
  • ianbaum/omnibus-gitlab
  • ampedandwired/omnibus-gitlab
  • furoka/omnibus-gitlab
  • benjma/omnibus-gitlab
  • asziranyi/omnibus-gitlab
  • gaveen/omnibus-gitlab
  • gecgooden/omnibus-gitlab
  • philippe.lafoucriere/omnibus-gitlab
  • andreyevbr/omnibus-gitlab
  • phil7/omnibus-gitlab
  • dmytro.protsyk/omnibus-gitlab
  • dcmspe/omnibus-gitlab
  • tjaart/omnibus-gitlab
  • Horgix/omnibus-gitlab
  • juliusmore/omnibus-gitlab
  • w_hayes/omnibus-gitlab
  • davidsan/omnibus-gitlab
  • cmtonkinson/omnibus-gitlab
  • MarkHerhold/omnibus-gitlab
  • kamalbctg/omnibus-gitlab
  • costincaraivan/omnibus-gitlab
  • phoenigmatic/omnibus-gitlab
  • balasankarc/omnibus-gitlab
  • joergi/omnibus-gitlab
  • visualrobots/omnibus-gitlab
  • philip.wood/omnibus-gitlab
  • brammeleman/omnibus-gitlab
  • tulipsnepal/omnibus-gitlab
  • davidhrbac/omnibus-gitlab
  • slawdan/omnibus-gitlab
  • mkungla/omnibus-gitlab
  • Rencs/omnibus-gitlab
  • ReSearchITEng/omnibus-gitlab
  • Olivier87/omnibus-gitlab
  • fuxu/omnibus-gitlab
  • oschwede/omnibus-gitlab
  • CorbanR/omnibus-gitlab
  • kay54088/omnibus-gitlab
  • daxelrod/omnibus-gitlab
  • ofaurax/omnibus-gitlab
  • criloz/omnibus-gitlab
  • balasankarc/myrandomitem
  • webframp/omnibus-gitlab
  • ramaraju/omnibus-gitlab
  • zaunerc/omnibus-gitlab
  • denkweite/omnibus-gitlab
  • attx/omnibus-gitlab
  • JSMenezes/omnibus-gitlab
  • Riztazz/omnibus-gitlab
  • Rudikza/omnibus-gitlab
  • tyranron/omnibus-gitlab
  • anwar.yagoub/omnibus-gitlab
  • jasonroehm/omnibus-gitlab
  • gbraad/omnibus-gitlab
  • twang2218/omnibus-gitlab
  • lloeki/omnibus-gitlab
  • rosanocangussu1/omnibus-gitlab
  • ktou/omnibus-gitlab
  • onophris/omnibus-gitlab
  • jabber/omnibus-gitlab
  • mschaeben/omnibus-gitlab
  • hu19891110/omnibus-gitlab
  • nick.thomas/omnibus-gitlab
  • ibaum/omnibus-gitlab
  • bruxy/omnibus-gitlab
  • gagern/omnibus-gitlab
  • omarmohsen/omnibus-gitlab
  • aumayr/omnibus-gitlab
  • underyx/omnibus-gitlab
  • jacksonpieper/omnibus-gitlab
  • LipperZack/omnibus-gitlab
  • manni9281/omnibus-gitlab
  • mozill32/omnibus-gitlab
  • haad/omnibus-gitlab
  • TomasDuda/omnibus-gitlab
  • technostar98/omnibus-gitlab
  • marin-group/omnibus-gitlab
  • sokchanny7/omnibus-gitlab
  • baparici/omnibus-gitlab
  • mihai.lazar/omnibus-gitlab
  • TamasBarta/omnibus-gitlab
  • taebong0905/omnibus-gitlab
  • nerro/omnibus-gitlab
  • hiyang/omnibus-gitlab
  • chulkilee/omnibus-gitlab
  • guilhermeborgesti/omnibus-gitlab
  • DaAwesomeP/omnibus-gitlab
  • robvl66/omnibus-gitlab
  • siemens/omnibus-gitlab
  • zagaluke/omnibus-gitlab
  • smircea/omnibus-gitlab
  • nils.werner/omnibus-gitlab
  • doomsayer13/omnibus-gitlab
  • andre82hh/omnibus-gitlab
  • ayufan/omnibus-gitlab
  • jasonsuzhou/omnibus-gitlab
  • Yakhlef/omnibus-gitlab
  • TRPmwiesen/omnibus-gitlab
  • RapidSport/omnibus-gitlab
  • lguzzon/omnibus-gitlab
  • oatberrycrunch/omnibus-gitlab
  • fzied/omnibus-gitlab
  • alejdg/omnibus-gitlab
  • kaiohenrique/omnibus-gitlab
  • bahadyr/omnibus-gitlab
  • rfcardenas92/omnibus-gitlab
  • kahbenya/omnibus-gitlab
  • parruda/omnibus-gitlab
  • denimamab/omnibus-gitlab
  • senk/omnibus-gitlab
  • dosuken123/omnibus-gitlab
  • BenoitKnecht/omnibus-gitlab
  • fabrice.herbeaux/omnibus-gitlab
  • jeremyyin/omnibus-gitlab
  • Rockyspade/omnibus-gitlab
  • justincenteno99/omnibus-gitlab
  • mariotr/omnibus-gitlab
  • alanchia2000/omnibus-gitlab
  • voitJ/omnibus-gitlab
  • pchojnacki/omnibus-gitlab
  • Mattlk13/omnibus-gitlab
  • mkubenka/omnibus-gitlab
  • zebek/omnibus-gitlab
  • PServers/omnibus-gitlab
  • brentjanderson/omnibus-gitlab
  • mowijo/omnibus-gitlab
  • timbavati/omnibus-gitlab
  • tanyan2004/omnibus-gitlab
  • jkeys/omnibus-gitlab
  • sedzisz/omnibus-gitlab
  • KevinSS/omnibus-gitlab
  • phlbrz/omnibus-gitlab
  • Zoubeyer/omnibus-gitlab
  • BSCheshir/omnibus-gitlab
  • 42pre/omnibus-gitlab
  • hexagon6/omnibus-gitlab
  • lamto/omnibus-gitlab
  • wuxyyin/omnibus-gitlab
  • gabothep/omnibus-gitlab
  • YahirAlejandro/omnibus-gitlab
  • Cong5/omnibus-gitlab
  • MacDonald/omnibus-gitlab
  • hanslemuet/omnibus-gitlab
  • dfy167/omnibus-gitlab
  • xer0x/omnibus-gitlab
  • larsla/omnibus-gitlab
  • jyunfan2015/omnibus-gitlab
  • techguru/omnibus-gitlab
  • okulygin/omnibus-gitlab
  • rkgarcia/omnibus-gitlab
  • anapsix/omnibus-gitlab
  • sonnt/omnibus-gitlab
  • zpallin/omnibus-gitlab
  • Krijger/omnibus-gitlab
  • jfcoz/omnibus-gitlab
  • songww/omnibus-gitlab
  • ravisorg/omnibus-gitlab
  • GitHK/omnibus-gitlab
  • caleno/omnibus-gitlab
  • esethna/omnibus-gitlab
  • jaksd/omnibus-gitlab
  • colinmollenhour/omnibus-gitlab
  • kavurmam/omnibus-gitlab
  • asmolero/omnibus-gitlab
  • shalithakaru/omnibus-gitlab
  • ouattchidi/omnibus-gitlab
  • 275John/omnibus-gitlab
  • nick.volynkin/omnibus-gitlab
  • admc/omnibus-gitlab
  • rawlingsj/omnibus-gitlab
  • JeffSchering/omnibus-gitlab
  • nifan/omnibus-gitlab
  • sjenning/omnibus-gitlab
  • Macioszek/omnibus-gitlab
  • jboyles/omnibus-gitlab
  • pfrayer/omnibus-gitlab
  • ryehle/omnibus-gitlab
  • ATMartin/omnibus-gitlab
  • esethna2/omnibus-gitlab
  • cbrucks/omnibus-gitlab
  • sylvainb1/omnibus-gitlab
  • charlenchen/omnibus-gitlab
  • tjuerge/omnibus-gitlab
  • twk3/omnibus-gitlab
  • thedanielhanke/omnibus-gitlab
  • robogunslinger/omnibus-gitlab
  • offdutypirate/omnibus-gitlab
  • wlamal855/omnibus-gitlab
  • PrakashSinghRawat/omnibus-gitlab
  • genichin/omnibus-gitlab
  • SuriyaaKudoIsc/omnibus-gitlab
  • ewan.ramsay36/omnibus-gitlab
  • stratosgear/omnibus-gitlab
  • hh1/omnibus-gitlab
  • dinglianju/omnibus-gitlab
  • chg1995/omnibus-gitlab
  • galen_liu/omnibus-gitlab
  • mohammadeslami/omnibus-gitlab
  • INT-ZC/omnibus-gitlab
  • kkirsche/omnibus-gitlab
  • shazbot89/omnibus-gitlab
  • liulantao/omnibus-gitlab
  • sinichkin/omnibus-gitlab
  • fingnet/omnibus-gitlab
  • tclaff/omnibus-gitlab
  • joustie/omnibus-gitlab
  • alexkeramidas/omnibus-gitlab
  • gitlab-contrib/omnibus-gitlab
  • AdrianGPrado/omnibus-gitlab
  • ralphg6/omnibus-gitlab
  • loai.net/omnibus-gitlab
  • claudio.vellage/omnibus-gitlab
  • realsobek/omnibus-gitlab
  • s_c/omnibus-gitlab
  • zeb/omnibus-gitlab
  • HaPPyWaLLaCe/omnibus-gitlab
  • albundy83/omnibus-gitlab
  • ediaz-inteliti/omnibus-gitlab
  • gvieira37/omnibus-gitlab
  • ricardona/omnibus-gitlab
453 results
Show changes
Commits on Source (8)
Loading
Loading
@@ -16,6 +16,8 @@ omnibus-gitlab repository.
LetsEncrypt certificate #3343
- Use localhost hostname for unicorn and sidekiq listeners
- Add ipv6 loopback to monitoring whitelist
- Remove deprecated Mattermost settings and use environment variables to set
supported ones. !2522
 
10.8.2
 
Loading
Loading
Loading
Loading
@@ -38,6 +38,7 @@ build do
copy 'i18n', "#{install_dir}/embedded/service/mattermost/i18n"
copy 'fonts', "#{install_dir}/embedded/service/mattermost/fonts"
copy 'client', "#{install_dir}/embedded/service/mattermost/client"
copy 'config/config.json', "#{install_dir}/embedded/service/mattermost/config.json.template"
 
block do
File.open(license_path, 'w') { |f| f.write(GITLAB_MATTERMOST_COMPILED_LICENSE) }
Loading
Loading
Loading
Loading
@@ -1141,91 +1141,14 @@ external_url 'GENERATED_EXTERNAL_URL'
# mattermost['database_name'] = 'mattermost_production'
# mattermost['env'] = {}
 
# mattermost['service_use_ssl'] = false
# mattermost['service_address'] = "127.0.0.1"
# mattermost['service_port'] = "8065"
# mattermost['service_site_url'] = nil
# mattermost['service_websocket_url'] = nil
# mattermost['service_maximum_login_attempts'] = 10
# mattermost['service_google_developer_key'] = nil
# mattermost['service_enable_incoming_webhooks'] = true
# mattermost['service_enable_post_username_override'] = true
# mattermost['service_enable_post_icon_override'] = true
# mattermost['service_enable_testing'] = false
# mattermost['service_enable_security_fix_alert'] = true
# mattermost['service_enable_insecure_outgoing_connections'] = false
# mattermost['service_allowed_untrusted_internal_connections'] = ""
# mattermost['service_allow_cors_from'] = ""
# mattermost['service_allow_cookies_from_subdomains'] = false
# mattermost['service_enable_outgoing_webhooks'] = true
# mattermost['service_enable_commands'] = true
# mattermost['service_enable_custom_emoji'] = false
# mattermost['service_enable_oauth_service_provider'] = false
# mattermost['service_enable_developer'] = false
# mattermost['service_session_length_web_in_days'] = 30
# mattermost['service_session_length_mobile_in_days'] = 30
# mattermost['service_session_length_sso_in_days'] = 30
# mattermost['service_session_cache_in_minutes'] = 10
# mattermost['service_session_idle_timeout_in_minutes'] = 0
# mattermost['service_websocket_secure_port'] = 443
# mattermost['service_websocket_port'] = 80
# mattermost['service_webserver_mode'] = 'gzip'
# mattermost['service_connection_security'] = nil
# mattermost['service_tls_cert_file'] = nil
# mattermost['service_tls_key_file'] = nil
# mattermost['service_use_lets_encrypt'] = false
# mattermost['service_lets_encrypt_cert_cache_file'] = "./config/letsencrypt.cache"
# mattermost['service_forward_80_to_443'] = false
# mattermost['service_read_timeout'] = 300
# mattermost['service_write_timeout'] = 300
# mattermost['service_time_between_user_typing_updates_milliseconds'] = 5000
# mattermost['service_enable_link_previews'] = false
# mattermost['service_enable_user_typing_messages'] = true
# mattermost['service_enable_post_search'] = true
# mattermost['service_enable_user_statuses'] = true
# mattermost['service_enable_emoji_picker'] = true
# mattermost['service_enable_channel_viewed_messages'] = true
# mattermost['service_enable_apiv3'] = true
# mattermost['service_goroutine_health_threshold'] = -1
# mattermost['service_user_access_tokens'] = false
# mattermost['service_enable_preview_features'] = true
# mattermost['service_close_unused_direct_messages'] = false
# mattermost['service_image_proxy_type'] = ''
# mattermost['service_image_proxy_options'] = ''
# mattermost['service_image_proxy_url'] = ''
# mattermost['team_site_name'] = "GitLab Mattermost"
# mattermost['team_max_users_per_team'] = 150
# mattermost['team_enable_user_creation'] = true
# mattermost['team_enable_open_server'] = false
# mattermost['team_allow_public_link'] = true
# mattermost['team_allow_valet_default'] = false
# mattermost['team_restrict_creation_to_domains'] = "gmail.com"
# mattermost['team_restrict_direct_message'] = "any"
# mattermost['team_max_channels_per_team'] = 2000
# mattermost['team_max_notifications_per_channel'] = 1000
# mattermost['team_enable_x_to_leave_channels_from_lhs'] = false
# mattermost['team_user_status_away_timeout'] = 300
# mattermost['team_enable_confirm_notifications_to_channel'] = true
# mattermost['team_teammate_name_display'] = "full_name"
# mattermost['sql_driver_name'] = 'mysql'
# mattermost['sql_data_source'] = "mmuser:mostest@tcp(dockerhost:3306)/mattermost_test?charset=utf8mb4,utf8"
# mattermost['sql_data_source_replicas'] = ["mmuser:mostest@tcp(dockerhost:3306)/mattermost_test?charset=utf8mb4,utf8"]
# mattermost['sql_max_idle_conns'] = 10
# mattermost['sql_max_open_conns'] = 10
# mattermost['sql_trace'] = false
# mattermost['sql_data_source_search_replicas'] = []
# mattermost['sql_query_timeout'] = 30
# mattermost['log_file_directory'] = '/var/log/gitlab/mattermost/'
# mattermost['log_console_enable'] = true
# mattermost['log_console_level'] = 'INFO'
# mattermost['log_enable_file'] = false
# mattermost['log_file_level'] = 'INFO'
# mattermost['log_file_format'] = nil
# mattermost['log_enable_diagnostics'] = true
# mattermost['gitlab_enable'] = false
# mattermost['gitlab_id'] = "12345656"
# mattermost['gitlab_secret'] = "123456789"
Loading
Loading
@@ -1233,95 +1156,7 @@ external_url 'GENERATED_EXTERNAL_URL'
# mattermost['gitlab_auth_endpoint'] = "http://gitlab.example.com/oauth/authorize"
# mattermost['gitlab_token_endpoint'] = "http://gitlab.example.com/oauth/token"
# mattermost['gitlab_user_api_endpoint'] = "http://gitlab.example.com/api/v4/user"
# mattermost['aws'] = {'S3AccessKeyId' => '123', 'S3SecretAccessKey' => '123', 'S3Bucket' => 'aa', 'S3Region' => 'bb'}
# mattermost['email_enable_sign_up_with_email'] = true
# mattermost['email_enable_sign_in_with_email'] = true
# mattermost['email_enable_sign_in_with_username'] = false
# mattermost['email_send_email_notifications'] = false
# mattermost['email_use_channel_in_email_notifications'] = true
# mattermost['email_require_email_verification'] = false
# mattermost['email_smtp_username'] = nil
# mattermost['email_smtp_password'] = nil
# mattermost['email_smtp_server'] = nil
# mattermost['email_smtp_port'] = nil
# mattermost['email_connection_security'] = nil
# mattermost['email_feedback_name'] = nil
# mattermost['email_feedback_email'] = nil
# mattermost['email_feedback_organization'] = nil
# mattermost['email_send_push_notifications'] = true
# mattermost['email_push_notification_server'] = ""
# mattermost['email_push_notification_contents'] = "generic"
# mattermost['email_enable_batching'] = false
# mattermost['email_batching_buffer_size'] = 256
# mattermost['email_batching_interval'] = 30
# mattermost['email_skip_server_certificate_verification'] = false
# mattermost['email_smtp_auth'] = false
# mattermost['email_notification_content_type'] = "full"
# mattermost['email_login_button_color'] = ""
# mattermost['email_login_button_border_color'] = ""
# mattermost['email_login_button_text_color'] = ""
# mattermost['file_max_file_size'] = 52428800
# mattermost['file_driver_name'] = "local"
# mattermost['file_directory'] = "/var/opt/gitlab/mattermost/data"
# mattermost['file_enable_public_link'] = true
# mattermost['file_initial_font'] = 'luximbi.ttf'
# mattermost['file_amazon_s3_access_key_id'] = nil
# mattermost['file_amazon_s3_bucket'] = nil
# mattermost['file_amazon_s3_secret_access_key'] = nil
# mattermost['file_amazon_s3_region'] = nil
# mattermost["file_amazon_s3_endpoint"] = nil
# mattermost["file_amazon_s3_ssl"] = true
# mattermost["file_amazon_s3_sign_v2"] = false
# mattermost['file_enable_file_attachments'] = true
# mattermost["file_amazon_s3_trace"] = false
# mattermost['ratelimit_enable_rate_limiter'] = false
# mattermost['ratelimit_per_sec'] = 10
# mattermost['ratelimit_max_burst'] = 100
# mattermost['ratelimit_memory_store_size'] = 10000
# mattermost['ratelimit_vary_by_remote_addr'] = true
# mattermost['ratelimit_vary_by_user'] = false
# mattermost['ratelimit_vary_by_header'] = nil
# mattermost['support_terms_of_service_link'] = "https://about.mattermost.com/default-terms/"
# mattermost['support_privacy_policy_link'] = "https://about.mattermost.com/default-privacy-policy/"
# mattermost['support_about_link'] = "https://about.mattermost.com/default-about/"
# mattermost['support_help_link'] = "https://about.mattermost.com/default-help/"
# mattermost['support_report_a_problem_link'] = "https://about.mattermost.com/default-report-a-problem/"
# mattermost['support_email'] = "support@example.com"
# mattermost['privacy_show_email_address'] = true
# mattermost['privacy_show_full_name'] = true
# mattermost['localization_server_locale'] = "en"
# mattermost['localization_client_locale'] = "en"
# mattermost['localization_available_locales'] = "en,es,fr,ja,pt-BR"
# mattermost['webrtc_enable'] = false
# mattermost['webrtc_gateway_websocket_url'] = nil
# mattermost['webrtc_gateway_admin_url'] = nil
# mattermost['webrtc_gateway_admin_secret'] = nil
# mattermost['webrtc_gateway_stun_uri'] = nil
# mattermost['webrtc_gateway_turn_uri'] = nil
# mattermost['webrtc_gateway_turn_username'] = nil
# mattermost['webrtc_gateway_turn_shared_key'] = nil
# mattermost['native_app_app_download_link'] = "https://about.mattermost.com/downloads/"
# mattermost['native_app_android_app_download_link'] = "https://about.mattermost.com/mattermost-android-app/"
# mattermost['native_app_ios_app_download_link'] = "https://about.mattermost.com/mattermost-ios-app/"
# mattermost['job_run_jobs'] = true
# mattermost['job_run_scheduler'] = true
# mattermost['plugin_enable'] = true
# mattermost['plugin_enable_uploads'] = false
# mattermost['plugin_directory'] = "/var/opt/gitlab/mattermost/plugins"
# mattermost['plugin_client_directory'] = "/var/opt/gitlab/mattermost/client-plugins"
# mattermost['plugin_plugins'] = {}
# mattermost['plugin_plugin_states'] = {}
 
################################################################################
## Mattermost NGINX
Loading
Loading
Loading
Loading
@@ -92,11 +92,6 @@ module Postgresql
 
value_from_attributes = "user=#{attributes_values[0]} host=#{attributes_values[1]} port=#{attributes_values[2]} dbname=#{attributes_values[3]}"
Gitlab['mattermost']['sql_data_source'] = value_from_gitlab_rb || value_from_attributes
if Gitlab['mattermost']['sql_data_source_replicas'].nil? && \
Gitlab['node']['mattermost']['sql_data_source_replicas'].empty?
Gitlab['mattermost']['sql_data_source_replicas'] = [Gitlab['mattermost']['sql_data_source']]
end
end
 
def postgresql_managed?
Loading
Loading
Loading
Loading
@@ -24,155 +24,16 @@ default['mattermost']['database_name'] = 'mattermost_production'
default['mattermost']['env'] = {}
 
default['mattermost']['log_file_directory'] = '/var/log/gitlab/mattermost/'
default['mattermost']['log_console_enable'] = true
default['mattermost']['log_enable_webhook_debugging'] = true
default['mattermost']['log_console_level'] = 'INFO'
default['mattermost']['log_enable_file'] = true
default['mattermost']['log_file_level'] = 'ERROR'
default['mattermost']['log_file_format'] = nil
default['mattermost']['log_enable_diagnostics'] = true
default['mattermost']['service_use_ssl'] = false
default['mattermost']['service_address'] = "127.0.0.1"
default['mattermost']['service_port'] = "8065"
default['mattermost']['service_site_url'] = nil
default['mattermost']['service_websocket_url'] = nil
default['mattermost']['service_maximum_login_attempts'] = 10
default['mattermost']['service_google_developer_key'] = nil
default['mattermost']['service_enable_incoming_webhooks'] = false
default['mattermost']['service_enable_post_username_override'] = true
default['mattermost']['service_enable_post_icon_override'] = true
default['mattermost']['service_enable_testing'] = false
default['mattermost']['service_enable_security_fix_alert'] = true
default['mattermost']['service_enable_insecure_outgoing_connections'] = false
default['mattermost']['service_allowed_untrusted_internal_connections'] = nil
default['mattermost']['service_allow_cors_from'] = nil
default['mattermost']['service_allow_cookies_from_subdomains'] = false
default['mattermost']['service_enable_outgoing_webhooks'] = false
default['mattermost']['service_enable_commands'] = true
default['mattermost']['service_enable_custom_emoji'] = false
default['mattermost']['service_enable_oauth_service_provider'] = false
default['mattermost']['service_enable_developer'] = false
default['mattermost']['service_session_length_web_in_days'] = 30
default['mattermost']['service_session_length_mobile_in_days'] = 30
default['mattermost']['service_session_length_sso_in_days'] = 30
default['mattermost']['service_session_cache_in_minutes'] = 10
default['mattermost']['service_session_idle_timeout_in_minutes'] = 0
default['mattermost']['service_websocket_secure_port'] = 443
default['mattermost']['service_websocket_port'] = 80
default['mattermost']['service_webserver_mode'] = 'gzip'
default['mattermost']['service_connection_security'] = nil
default['mattermost']['service_tls_cert_file'] = nil
default['mattermost']['service_tls_key_file'] = nil
default['mattermost']['service_use_lets_encrypt'] = false
default['mattermost']['service_lets_encrypt_cert_cache_file'] = "./config/letsencrypt.cache"
default['mattermost']['service_forward_80_to_443'] = false
default['mattermost']['service_read_timeout'] = 300
default['mattermost']['service_write_timeout'] = 300
default['mattermost']['service_time_between_user_typing_updates_milliseconds'] = 5000
default['mattermost']['service_enable_link_previews'] = false
default['mattermost']['service_enable_user_typing_messages'] = true
default['mattermost']['service_enable_post_search'] = true
default['mattermost']['service_enable_user_statuses'] = true
default['mattermost']['service_enable_emoji_picker'] = true
default['mattermost']['service_enable_channel_viewed_messages'] = true
default['mattermost']['service_enable_apiv3'] = true
default['mattermost']['service_goroutine_health_threshold'] = -1
default['mattermost']['service_user_access_tokens'] = false
default['mattermost']['service_enable_preview_features'] = true
default['mattermost']['service_close_unused_direct_messages'] = false
default['mattermost']['service_image_proxy_type'] = ''
default['mattermost']['service_image_proxy_type'] = ''
default['mattermost']['service_image_proxy_url'] = ''
default['mattermost']['sql_driver_name'] = 'postgres'
default['mattermost']['sql_data_source'] = nil
default['mattermost']['sql_data_source_replicas'] = []
default['mattermost']['sql_max_idle_conns'] = 10
default['mattermost']['sql_max_open_conns'] = 10
default['mattermost']['sql_trace'] = false
default['mattermost']['sql_data_source_search_replicas'] = []
default['mattermost']['sql_query_timeout'] = 30
default['mattermost']['gitlab'] = {}
default['mattermost']['file_max_file_size'] = 52428800
default['mattermost']['file_driver_name'] = "local"
default['mattermost']['file_directory'] = "/var/opt/gitlab/mattermost/data"
default['mattermost']['file_enable_public_link'] = true
default['mattermost']['file_initial_font'] = 'luximbi.ttf'
default['mattermost']['file_amazon_s3_access_key_id'] = nil
default['mattermost']['file_amazon_s3_bucket'] = nil
default['mattermost']['file_amazon_s3_secret_access_key'] = nil
default['mattermost']['file_amazon_s3_bucket'] = nil
default['mattermost']["file_amazon_s3_endpoint"] = nil
default['mattermost']["file_amazon_s3_ssl"] = true
default['mattermost']["file_amazon_s3_sign_v2"] = false
default['mattermost']['file_enable_file_attachments'] = true
default['mattermost']['file_amazon_s3_trace'] = false
default['mattermost']['email_enable_sign_up_with_email'] = false
default['mattermost']['email_enable_sign_in_with_email'] = true
default['mattermost']['email_enable_sign_in_with_username'] = false
default['mattermost']['email_send_email_notifications'] = false
default['mattermost']['email_use_channel_in_email_notifications'] = true
default['mattermost']['email_require_email_verification'] = false
default['mattermost']['email_feedback_name'] = nil
default['mattermost']['email_feedback_email'] = nil
default['mattermost']['email_feedback_organization'] = nil
default['mattermost']['email_smtp_username'] = nil
default['mattermost']['email_smtp_password'] = nil
default['mattermost']['email_smtp_server'] = nil
default['mattermost']['email_smtp_port'] = nil
default['mattermost']['email_connection_security'] = nil
default['mattermost']['email_send_push_notifications'] = false
default['mattermost']['email_push_notification_server'] = nil
default['mattermost']['email_push_notification_contents'] = "generic"
default['mattermost']['email_enable_batching'] = false
default['mattermost']['email_batching_buffer_size'] = 256
default['mattermost']['email_batching_interval'] = 30
default['mattermost']['email_skip_server_certificate_verification'] = false
default['mattermost']['email_smtp_auth'] = false
default['mattermost']['email_notification_content_type'] = "full"
default['mattermost']['ratelimit_enable_rate_limiter'] = false
default['mattermost']['ratelimit_per_sec'] = 10
default['mattermost']['ratelimit_max_burst'] = 100
default['mattermost']['ratelimit_memory_store_size'] = 10000
default['mattermost']['ratelimit_vary_by_remote_addr'] = true
default['mattermost']['ratelimit_vary_by_user'] = false
default['mattermost']['ratelimit_vary_by_header'] = nil
default['mattermost']['privacy_show_email_address'] = true
default['mattermost']['privacy_show_full_name'] = true
default['mattermost']['localization_server_locale'] = "en"
default['mattermost']['localization_client_locale'] = "en"
default['mattermost']['localization_available_locales'] = ""
default['mattermost']['team_site_name'] = "GitLab Mattermost"
default['mattermost']['team_enable_user_creation'] = true
default['mattermost']['team_enable_open_server'] = false
default['mattermost']['team_enable_x_to_leave_channels_from_lhs'] = false
default['mattermost']['team_max_users_per_team'] = 150
default['mattermost']['team_allow_public_link'] = true
default['mattermost']['team_allow_valet_default'] = false
default['mattermost']['team_restrict_creation_to_domains'] = nil
default['mattermost']['team_restrict_direct_message'] = "any"
default['mattermost']['team_max_channels_per_team'] = 2000
default['mattermost']['team_max_notifications_per_channel'] = 1000
default['mattermost']['team_user_status_away_timeout'] = 300
default['mattermost']['team_enable_confirm_notifications_to_channel'] = true
default['mattermost']['team_teammate_name_display'] = "full_name"
default['mattermost']['support_terms_of_service_link'] = "https://about.mattermost.com/default-terms/"
default['mattermost']['support_privacy_policy_link'] = "https://about.mattermost.com/default-privacy-policy/"
default['mattermost']['support_about_link'] = "https://about.mattermost.com/default-about/"
default['mattermost']['support_help_link'] = "https://about.mattermost.com/default-help/"
default['mattermost']['support_report_a_problem_link'] = "https://about.mattermost.com/default-report-a-problem/"
default['mattermost']['support_email'] = "support@example.com"
default['mattermost']['gitlab_enable'] = false
default['mattermost']['gitlab_secret'] = nil
default['mattermost']['gitlab_id'] = nil
Loading
Loading
@@ -180,26 +41,3 @@ default['mattermost']['gitlab_scope'] = nil
default['mattermost']['gitlab_auth_endpoint'] = nil
default['mattermost']['gitlab_token_endpoint'] = nil
default['mattermost']['gitlab_user_api_endpoint'] = nil
default['mattermost']['webrtc_enable'] = false
default['mattermost']['webrtc_gateway_websocket_url'] = nil
default['mattermost']['webrtc_gateway_admin_url'] = nil
default['mattermost']['webrtc_gateway_admin_secret'] = nil
default['mattermost']['webrtc_gateway_stun_uri'] = nil
default['mattermost']['webrtc_gateway_turn_uri'] = nil
default['mattermost']['webrtc_gateway_turn_username'] = nil
default['mattermost']['webrtc_gateway_turn_shared_key'] = nil
default['mattermost']['native_app_app_download_link'] = "https://about.mattermost.com/downloads/"
default['mattermost']['native_app_android_app_download_link'] = "https://about.mattermost.com/mattermost-android-app/"
default['mattermost']['native_app_ios_app_download_link'] = "https://about.mattermost.com/mattermost-ios-app/"
default['mattermost']['job_run_jobs'] = true
default['mattermost']['job_run_scheduler'] = true
default['mattermost']['plugin_enable'] = true
default['mattermost']['plugin_enable_uploads'] = false
default['mattermost']['plugin_directory'] = "/var/opt/gitlab/mattermost/plugins"
default['mattermost']['plugin_client_directory'] = "/var/opt/gitlab/mattermost/client-plugins"
default['mattermost']['plugin_plugins'] = {}
default['mattermost']['plugin_plugin_states'] = {}
Loading
Loading
@@ -25,4 +25,25 @@ class MattermostHelper # rubocop:disable Style/MultilineIfModifier (disabled so
warn('Something went wrong while trying to update gitlab-secrets.json. Check the file permissions and try reconfiguring again.')
end
end
def self.get_env_variables(node)
{
'MM_SERVICESETTINGS_SITEURL' => node['mattermost']['service_site_url'].to_s,
'MM_SERVICESETTINGS_LISTENADDRESS' => "#{node['mattermost']['service_address']}:#{node['mattermost']['service_port']}",
'MM_SERVICESETTINGS_ALLOWEDUNTRUSTEDINTERNALCONNECTIONS' => node['mattermost']['service_allowed_untrusted_internal_connections'],
'MM_TEAMSETTINGS_SITENAME' => node['mattermost']['team_site_name'].to_s,
'MM_SQLSETTINGS_DRIVERNAME' => node['mattermost']['sql_driver_name'],
'MM_SQLSETTINGS_DATASOURCE' => node['mattermost']['sql_data_source'].to_s,
'MM_SQLSETTINGS_ATRESTENCRYPTKEY' => node['mattermost']['sql_at_rest_encrypt_key'].to_s,
'MM_LOGSETTINGS_FILELOCATION' => (node['mattermost']['log_file_directory']).to_s,
'MM_FILESETTINGS_DIRECTORY' => node['mattermost']['file_directory'].to_s,
'MM_GITLABSETTINGS_ENABLE' => node['mattermost']['gitlab_enable'].to_s,
'MM_GITLABSETTINGS_SECRET' => node['mattermost']['gitlab_secret'].to_s,
'MM_GITLABSETTINGS_ID' => node['mattermost']['gitlab_id'].to_s,
'MM_GITLABSETTINGS_SCOPE' => node['mattermost']['gitlab_scope'].to_s,
'MM_GITLABSETTINGS_AUTHENDPOINT' => node['mattermost']['gitlab_auth_endpoint'].to_s,
'MM_GITLABSETTINGS_TOKENENDPOINT' => node['mattermost']['gitlab_token_endpoint'].to_s,
'MM_GITLABSETTINGS_USERAPIENDPOINT' => node['mattermost']['gitlab_user_api_endpoint'].to_s,
}
end
end unless defined?(MattermostHelper) # Prevent reloading in chefspec: https://github.com/sethvargo/chefspec/issues/562#issuecomment-74120922
Loading
Loading
@@ -110,12 +110,11 @@ ruby_block "populate mattermost configuration options" do
end
end
 
template config_file_path do
source "config.json.erb"
remote_file config_file_path do
source "file:////opt/gitlab/embedded/service/mattermost/config.json.template"
owner mattermost_user
variables lazy { node['mattermost'].to_hash.merge(node['gitlab']['postgresql']).to_hash }
mode "0644"
notifies :restart, "service[mattermost]"
action :create_if_missing
end
 
###
Loading
Loading
@@ -123,7 +122,7 @@ end
###
 
env_dir File.join(mattermost_home, 'env') do
variables node['mattermost']['env']
variables lazy { MattermostHelper.get_env_variables(node).merge(node['mattermost']['env']) }
notifies :restart, "service[mattermost]"
end
 
Loading
Loading
{
"ServiceSettings": {
"SiteURL": "<%= @service_site_url %>",
"WebsocketURL": "<%= @service_websocket_url %>",
"ListenAddress": "<%= @service_address %>:<%= @service_port %>",
"ConnectionSecurity": "<%= @service_connection_security %>",
"TLSCertFile": "<%= @service_tls_cert_file %>",
"TLSKeyFile": "<%= @service_tls_key_file %>",
"UseLetsEncrypt": <%= @service_use_lets_encrypt %>,
"LetsEncryptCertificateCacheFile": "<%= @service_lets_encrypt_cert_cache_file %>",
"Forward80To443": <%= @service_forward_80_to_443 %>,
"ReadTimeout": <%= @service_read_timeout %>,
"WriteTimeout": <%= @service_write_timeout %>,
"MaximumLoginAttempts": <%= @service_maximum_login_attempts %>,
"GoroutineHealthThreshold": <%= @service_goroutine_health_threshold %>,
"GoogleDeveloperKey": "<%= @service_google_developer_key %>",
"EnableOAuthServiceProvider": <%= @service_enable_oauth_service_provider %>,
"EnableIncomingWebhooks": <%= @service_enable_incoming_webhooks %>,
"EnableOutgoingWebhooks": <%= @service_enable_outgoing_webhooks %>,
"EnableCommands": <%= @service_enable_commands %>,
"EnablePostUsernameOverride": <%= @service_enable_post_username_override %>,
"EnablePostIconOverride": <%= @service_enable_post_icon_override %>,
"EnableAPIv3": <%= @service_enable_apiv3 %>,
"EnableLinkPreviews": <%= @service_enable_link_previews %>,
"EnableTesting": <%= @service_enable_testing %>,
"EnableDeveloper": <%= @service_enable_developer %>,
"EnableSecurityFixAlert": <%= @service_enable_security_fix_alert %>,
"EnableInsecureOutgoingConnections": <%= @service_enable_insecure_outgoing_connections %>,
"AllowedUntrustedInternalConnections": "<%= @service_allowed_untrusted_internal_connections %>",
"EnableUserAccessTokens": <%= @service_user_access_tokens %>,
"AllowCorsFrom": "<%= @service_allow_cors_from %>",
"AllowCookiesForSubdomains": <%= @service_allow_cookies_from_subdomains %>,
"SessionLengthWebInDays" : <%= @service_session_length_web_in_days %>,
"SessionLengthMobileInDays" : <%= @service_session_length_mobile_in_days %>,
"SessionLengthSSOInDays" : <%= @service_session_length_sso_in_days %>,
"SessionCacheInMinutes" : <%= @service_session_cache_in_minutes %>,
"SessionIdleTimeoutInMinutes": <%= @service_session_idle_timeout_in_minutes %>,
"WebsocketSecurePort": <%= @service_websocket_secure_port %>,
"WebsocketPort": <%= @service_websocket_port %>,
"WebserverMode": "<%= @service_webserver_mode %>",
"EnableCustomEmoji": <%= @service_enable_custom_emoji %>,
"EnableEmojiPicker": <%= @service_enable_emoji_picker %>,
"TimeBetweenUserTypingUpdatesMilliseconds" : <%= @service_time_between_user_typing_updates_milliseconds %>,
"EnablePostSearch": <%= @service_enable_post_search %>,
"EnableUserTypingMessages": <%= @service_enable_user_typing_messages %>,
"EnableChannelViewedMessages": <%= @service_enable_channel_viewed_messages %>,
"EnableUserStatuses": <%= @service_enable_post_search %>,
"EnablePreviewFeatures": <%= @service_enable_preview_features %>,
"CloseUnusedDirectMessages": <%= @service_close_unused_direct_messages %>,
"ImageProxyType": "<%= @service_image_proxy_type %>",
"ImageProxyOptions": "<%= @service_image_proxy_options %>",
"ImageProxyURL": "<%= @service_image_proxy_url %>"
},
"TeamSettings": {
"SiteName": "<%= @team_site_name %>",
"MaxUsersPerTeam": <%= @team_max_users_per_team %>,
"EnableUserCreation": <%= @team_enable_user_creation %>,
"EnableOpenServer": <%= @team_enable_open_server %>,
"RestrictCreationToDomains": "<%= @team_restrict_creation_to_domains %>",
"RestrictDirectMessage": "<%= @team_restrict_direct_message %>",
"EnableXToLeaveChannelsFromLHS": <%= @team_enable_x_to_leave_channels_from_lhs %>,
"UserStatusAwayTimeout": <%= @team_user_status_away_timeout %>,
"MaxChannelsPerTeam": <%= @team_max_channels_per_team %>,
"MaxNotificationsPerChannel": <%= @team_max_notifications_per_channel %>,
"EnableConfirmNotificationsToChannel": <%= @team_enable_confirm_notifications_to_channel %>,
"TeammateNameDisplay": "<%= @team_teammate_name_display %>"
},
"SqlSettings": {
"DriverName": "<%= @sql_driver_name %>",
"DataSource": "<%= @sql_data_source %>",
"DataSourceReplicas": [<%= @sql_data_source_replicas.map{ |dsr| "\"#{dsr}\"" }.join(',') %>],
"DataSourceSearchReplicas": <%= @sql_data_source_search_replicas %>,
"MaxIdleConns": <%= @sql_max_idle_conns %>,
"MaxOpenConns": <%= @sql_max_open_conns %>,
"Trace": <%= @sql_trace %>,
"AtRestEncryptKey": "<%= @sql_at_rest_encrypt_key %>",
"QueryTimeout": <%= @sql_query_timeout %>
},
"LogSettings": {
"EnableConsole": <%= @log_console_enable %>,
"ConsoleLevel": "<%= @log_console_level %>",
"EnableFile": <%= @log_enable_file %>,
"FileLevel": "<%= @log_file_level %>",
"FileFormat": "<%= @log_file_format %>",
"FileLocation": "<%= @log_file_directory %>",
"EnableWebhookDebugging": <%= @log_enable_webhook_debugging %>,
"EnableDiagnostics": <%= @log_enable_diagnostics %>
},
"FileSettings": {
"EnableFileAttachments": <%= @file_enable_file_attachments %>,
"MaxFileSize": <%= @file_max_file_size %>,
"DriverName": "<%= @file_driver_name %>",
"Directory": "<%= @file_directory %>",
"EnablePublicLink": <%= @file_enable_public_link %>,
"PublicLinkSalt": "<%= @file_public_link_salt %>",
"InitialFont": "<%= @file_initial_font %>",
"AmazonS3AccessKeyId": "<%= @file_amazon_s3_access_key_id %>",
"AmazonS3SecretAccessKey": "<%= @file_amazon_s3_secret_access_key %>",
"AmazonS3Bucket": "<%= @file_amazon_s3_bucket %>",
"AmazonS3Region": "<%= @file_amazon_s3_region %>",
"AmazonS3Endpoint": "<%= @file_amazon_s3_endpoint %>",
"AmazonS3SSL": <%= @file_amazon_s3_ssl %>,
"AmazonS3SignV2": <%= @file_amazon_s3_sign_v2 %>,
"AmazonS3Trace": <%= @file_amazon_s3_trace %>
},
"EmailSettings": {
"EnableSignUpWithEmail": <%= @email_enable_sign_up_with_email %>,
"EnableSignInWithEmail": <%= @email_enable_sign_in_with_email %>,
"EnableSignInWithUsername": <%= @email_enable_sign_in_with_username %>,
"SendEmailNotifications": <%= @email_send_email_notifications %>,
"UseChannelInEmailNotifications": <%= @email_use_channel_in_email_notifications %>,
"RequireEmailVerification": <%= @email_require_email_verification %>,
"FeedbackName": "<%= @email_feedback_name %>",
"FeedbackEmail": "<%= @email_feedback_email %>",
"FeedbackOrganization": "<%= @email_feedback_organization %>",
"EnableSMTPAuth": <%= @email_smtp_auth %>,
"SMTPUsername": "<%= @email_smtp_username %>",
"SMTPPassword": "<%= @email_smtp_password %>",
"SMTPServer": "<%= @email_smtp_server %>",
"SMTPPort": "<%= @email_smtp_port %>",
"ConnectionSecurity": "<%= @email_connection_security %>",
"InviteSalt": "<%= @email_invite_salt %>",
"SendPushNotifications": <%= @email_send_push_notifications %>,
"PushNotificationServer": "<%= @email_push_notification_server %>",
"PushNotificationContents": "<%= @email_push_notification_contents %>",
"EnableEmailBatching": <%= @email_enable_batching %>,
"EmailBatchingBufferSize": <%= @email_batching_buffer_size %>,
"EmailBatchingInterval": <%= @email_batching_interval %>,
"SkipServerCertificateVerification": <%= @email_skip_server_certificate_verification %>,
"EmailNotificationContentType": "<%= @email_notification_content_type %>",
"LoginButtonColor": "<%= @email_login_button_color %>",
"LoginButtonBorderColor": "<%= @email_login_button_border_color %>",
"LoginButtonTextColor": "<%= @email_login_button_text_color %>"
},
"RateLimitSettings": {
"Enable": <%= @ratelimit_enable_rate_limiter %>,
"PerSec": <%= @ratelimit_per_sec %>,
"MaxBurst": <%= @ratelimit_max_burst %>,
"MemoryStoreSize": <%= @ratelimit_memory_store_size %>,
"VaryByRemoteAddr": <%= @ratelimit_vary_by_remote_addr %>,
"VaryByUser": <%= @ratelimit_vary_by_user %>,
"VaryByHeader": "<%= @ratelimit_vary_by_header %>"
},
"PrivacySettings": {
"ShowEmailAddress": <%= @privacy_show_email_address %>,
"ShowFullName": <%= @privacy_show_full_name %>
},
"SupportSettings": {
"TermsOfServiceLink": "<%= @support_terms_of_service_link %>",
"PrivacyPolicyLink": "<%= @support_privacy_policy_link %>",
"AboutLink": "<%= @support_about_link %>",
"HelpLink": "<%= @support_help_link %>",
"ReportAProblemLink": "<%= @support_report_a_problem_link %>",
"SupportEmail": "<%= @support_email %>"
},
"GitLabSettings": {
"Enable": <%= @gitlab_enable %>,
"Secret": "<%= @gitlab_secret %>",
"Id": "<%= @gitlab_id %>",
"Scope": "<%= @gitlab_scope %>",
"AuthEndpoint": "<%= @gitlab_auth_endpoint %>",
"TokenEndpoint": "<%= @gitlab_token_endpoint %>",
"UserApiEndpoint": "<%= @gitlab_user_api_endpoint %>"
},
"LocalizationSettings": {
"DefaultServerLocale": "<%= @localization_server_locale %>",
"DefaultClientLocale": "<%= @localization_client_locale %>",
"AvailableLocales": "<%= @localization_available_locales %>"
},
"NativeAppSetting": {
"AppDownloadLink": "<%= @native_app_app_download_link %>",
"AndroidAppDownloadLink": "<%= @native_app_android_app_download_link %>",
"IosAppDownloadLink": "<%= @native_app_ios_app_download_link %>"
},
"WebrtcSettings": {
"Enable": <%= @webrtc_enable %>,
"GatewayWebsocketUrl": "<%= @webrtc_gateway_websocket_url %>",
"GatewayAdminUrl": "<%= @webrtc_gateway_admin_url %>",
"GatewayAdminSecret": "<%= @webrtc_gateway_admin_secret %>",
"StunURI": "<%= @webrtc_gateway_stun_uri %>",
"TurnURI": "<%= @webrtc_gateway_turn_uri %>",
"TurnUsername": "<%= @webrtc_gateway_turn_username %>",
"TurnSharedKey": "<%= @webrtc_gateway_turn_shared_key %>"
},
"JobSettings": {
"RunJobs": <%= @job_run_jobs %>,
"RunScheduler": <%= @job_run_scheduler %>
},
"PluginSettings": {
"Enable": <%= @plugin_enable %>,
"EnableUploads": <%= @plugin_enable_uploads %>,
"Directory": "<%= @plugin_directory %>",
"ClientDirectory": "<%= @plugin_client_directory %>",
"Plugins": <%= @plugin_plugins.to_json %>,
"PluginStates": <%= @plugin_plugin_states.to_json %>
}
}
Loading
Loading
@@ -11,23 +11,17 @@ describe 'gitlab::mattermost' do
end
 
context 'SiteUrl setting' do
it 'is set when mattermost_external_url is set' do
expect(chef_run).to render_file('/var/opt/gitlab/mattermost/config.json')
.with_content(%r{"SiteURL": "http://mattermost.example.com",})
end
context 'when explicitly set' do
before do
stub_gitlab_rb(mattermost: {
service_site_url: 'http://mattermost.gitlab.example'
})
end
it_behaves_like "enabled mattermost env", "MM_SERVICESETTINGS_SITEURL", 'http://mattermost.example.com'
end
 
it 'is not overriden by mattermost_external_url' do
expect(chef_run).to render_file('/var/opt/gitlab/mattermost/config.json')
.with_content(%r{"SiteURL": "http://mattermost.gitlab.example",})
end
context 'when explicitly set' do
before do
stub_gitlab_rb(mattermost: {
service_site_url: 'http://mattermost.gitlab.example'
})
end
it_behaves_like "enabled mattermost env", "MM_SERVICESETTINGS_SITEURL", 'http://mattermost.gitlab.example'
end
 
it 'authorizes mattermost with gitlab' do
Loading
Loading
@@ -56,95 +50,55 @@ describe 'gitlab::mattermost' do
expect(chef_run.node['mattermost']['gitlab_id']).to eq 'new'
end
 
it 'creates mattermost configuration file with gitlab settings' do
stub_gitlab_rb(mattermost: {
enable: true,
gitlab_enable: true,
gitlab_id: 'gitlab_id',
gitlab_secret: 'gitlab_secret',
gitlab_scope: 'scope',
})
expect(chef_run).to render_file('/var/opt/gitlab/mattermost/config.json')
.with_content { |content|
config = JSON.parse(content)
expect(config).to have_key 'GitLabSettings'
expect(config['GitLabSettings']['Enable']).to be true
expect(config['GitLabSettings']['Secret']).to eq 'gitlab_secret'
expect(config['GitLabSettings']['Id']).to eq 'gitlab_id'
expect(config['GitLabSettings']['Scope']).to eq 'scope'
expect(config['GitLabSettings']['AuthEndpoint']).to eq 'http://gitlab.example.com/oauth/authorize'
expect(config['GitLabSettings']['TokenEndpoint']).to eq 'http://gitlab.example.com/oauth/token'
expect(config['GitLabSettings']['UserApiEndpoint']).to eq 'http://gitlab.example.com/api/v4/user'
}
end
it 'allows overrides to the mattermost settings regarding GitLab endpoints' do
stub_gitlab_rb(mattermost: {
enable: true,
gitlab_enable: true,
gitlab_auth_endpoint: 'https://test-endpoint.example.com/test/auth',
gitlab_token_endpoint: 'https://test-endpoint.example.com/test/token',
gitlab_user_api_endpoint: 'https://test-endpoint.example.com/test/user/api'
})
expect(chef_run).to render_file('/var/opt/gitlab/mattermost/config.json')
.with_content { |content|
config = JSON.parse(content)
expect(config).to have_key 'GitLabSettings'
expect(config['GitLabSettings']['Enable']).to be true
expect(config['GitLabSettings']['AuthEndpoint']).to eq 'https://test-endpoint.example.com/test/auth'
expect(config['GitLabSettings']['TokenEndpoint']).to eq 'https://test-endpoint.example.com/test/token'
expect(config['GitLabSettings']['UserApiEndpoint']).to eq 'https://test-endpoint.example.com/test/user/api'
}
end
context 'populate env variables based on provided gitlab settings' do
before do
stub_gitlab_rb(mattermost: {
enable: true,
gitlab_enable: true,
gitlab_id: 'gitlab_id',
gitlab_secret: 'gitlab_secret',
gitlab_scope: 'scope',
})
end
 
it 'render mattermost configuration values correctly when arrays are expected' do
stub_gitlab_rb(mattermost: {
enable: true,
sql_data_source_replicas: [],
sql_data_source_search_replicas: []
})
expect(chef_run).to render_file('/var/opt/gitlab/mattermost/config.json')
.with_content { |content|
config = JSON.parse(content)
expect(config).to have_key 'SqlSettings'
expect(config['SqlSettings']['DataSourceReplicas']).to be_instance_of(Array)
expect(config['SqlSettings']['DataSourceSearchReplicas']).to be_instance_of(Array)
}
it_behaves_like "enabled mattermost env", "MM_GITLABSETTINGS_ENABLE", 'true'
it_behaves_like "enabled mattermost env", "MM_GITLABSETTINGS_SECRET", 'gitlab_secret'
it_behaves_like "enabled mattermost env", "MM_GITLABSETTINGS_ID", 'gitlab_id'
it_behaves_like "enabled mattermost env", "MM_GITLABSETTINGS_SCOPE", 'scope'
it_behaves_like "enabled mattermost env", "MM_GITLABSETTINGS_AUTHENDPOINT", 'http://gitlab.example.com/oauth/authorize'
it_behaves_like "enabled mattermost env", "MM_GITLABSETTINGS_TOKENENDPOINT", 'http://gitlab.example.com/oauth/token'
it_behaves_like "enabled mattermost env", "MM_GITLABSETTINGS_USERAPIENDPOINT", 'http://gitlab.example.com/api/v4/user'
end
 
it 'creates mattermost configuration file in specified home folder' do
stub_gitlab_rb(mattermost: {
enable: true,
home: '/var/local/gitlab/mattermost',
})
context 'allows overrides to the mattermost settings regarding GitLab endpoints' do
before do
stub_gitlab_rb(mattermost: {
enable: true,
gitlab_enable: true,
gitlab_auth_endpoint: 'https://test-endpoint.example.com/test/auth',
gitlab_token_endpoint: 'https://test-endpoint.example.com/test/token',
gitlab_user_api_endpoint: 'https://test-endpoint.example.com/test/user/api'
})
end
 
expect(chef_run).to render_file('/opt/gitlab/sv/mattermost/run').with_content(/\-config \/var\/local\/gitlab\/mattermost\/config.json/)
it_behaves_like "enabled mattermost env", "MM_GITLABSETTINGS_ENABLE", 'true'
it_behaves_like "enabled mattermost env", "MM_GITLABSETTINGS_AUTHENDPOINT", 'https://test-endpoint.example.com/test/auth'
it_behaves_like "enabled mattermost env", "MM_GITLABSETTINGS_TOKENENDPOINT", 'https://test-endpoint.example.com/test/token'
it_behaves_like "enabled mattermost env", "MM_GITLABSETTINGS_USERAPIENDPOINT", 'https://test-endpoint.example.com/test/user/api'
end
 
shared_examples 'gitlab address set in allowed internal connections' do
it 'includes gitlab in the list of allowed internal addresses' do
expect(chef_run).to render_file('/var/opt/gitlab/mattermost/config.json')
.with_content { |content|
config = JSON.parse(content)
expect(config).to have_key 'ServiceSettings'
expect(config['ServiceSettings']['AllowedUntrustedInternalConnections']).to match(/gitlab\.example\.com/)
}
context 'gitlab is added to untrusted internal connections list' do
context 'when no allowed internal connections are provided by gitlab.rb' do
it_behaves_like "enabled mattermost env", "MM_SERVICESETTINGS_ALLOWEDUNTRUSTEDINTERNALCONNECTIONS", ' gitlab.example.com'
end
end
 
context 'when no allowed internal connections are provided by gitlab.rb' do
it_behaves_like 'gitlab address set in allowed internal connections'
end
context 'when some allowed internal connections are provided by gitlab.rb' do
before do
stub_gitlab_rb(mattermost: { enable: true, service_allowed_untrusted_internal_connections: 'localhost' })
end
 
context 'when some allowed internal connections are provided by gitlab.rb' do
before do
stub_gitlab_rb(mattermost: { enable: true, service_allowed_untrusted_internal_connections: 'localhost' })
it_behaves_like "enabled mattermost env", "MM_SERVICESETTINGS_ALLOWEDUNTRUSTEDINTERNALCONNECTIONS", 'gitlab.example.com'
end
it_behaves_like 'gitlab address set in allowed internal connections'
end
 
shared_examples 'no gitlab authorization performed' do
Loading
Loading
@@ -164,11 +118,8 @@ describe 'gitlab::mattermost' do
 
it_behaves_like 'no gitlab authorization performed'
 
it 'does not add gitlab automatically to the list of allowed internal addresses' do
expect(chef_run).to render_file('/var/opt/gitlab/mattermost/config.json').with_content { |content|
config = JSON.parse(content)
expect(config['ServiceSettings']['AllowedUntrustedInternalConnections']).not_to match(/gitlab\.example\.com/)
}
context 'does not add gitlab automatically to the list of allowed internal addresses' do
it_behaves_like "disabled mattermost env", "MM_SERVICESETTINGS_ALLOWEDUNTRUSTEDINTERNALCONNECTIONS", 'gitlab.example.com'
end
end
 
Loading
Loading
Loading
Loading
@@ -46,6 +46,18 @@ shared_examples 'enabled mattermost env' do |env_var, content|
end
end
 
shared_examples 'disabled mattermost env' do |env_var, content|
it 'created env directory' do
expect(chef_run).to create_directory("/var/opt/gitlab/mattermost/env")
end
it "does not create the #{env_var} file" do
expect(chef_run).not_to create_file("/var/opt/gitlab/mattermost/env/#{env_var}").with_content(
/#{content}/
)
end
end
shared_examples 'enabled gitaly env' do |env_var, content|
it 'created env directory' do
expect(chef_run).to create_directory("/opt/gitlab/etc/gitaly")
Loading
Loading