Merge branch 'zj-expose-mattermost-not-same-server' into 'master'

Expose Mattermost host on external url

Closes #1829

See merge request !1219
This commit is contained in:
DJ Mountney 2017-01-19 21:15:53 +00:00
commit 2aec8f66c2
4 changed files with 43 additions and 14 deletions

View File

@ -9,6 +9,7 @@ omnibus-gitlab repository.
- Allow users to specify an initial shared runner registration token
- Update Mattermost to version 3.6
- Include Prometheus and Node Exporter, off by default
- Let uses expose Mattermost host if installed on other server
8.15.0

View File

@ -137,6 +137,11 @@ external_url 'GENERATED_EXTERNAL_URL'
# gitlab_rails['lfs_enabled'] = true
# gitlab_rails['lfs_storage_path'] = "/mnt/storage/lfs-objects"
### GitLab Mattermost
###! These settings are void if Mattermost is installed on the same omnibus
###! install
# gitlab_rails['mattermost_host'] = "https://mattermost.example.com"
### LDAP Settings
###! Docs: https://docs.gitlab.com/omnibus/settings/ldap.html
###! **Be careful not to break the indentation in the ldap_servers block. It is

View File

@ -229,6 +229,9 @@ templatesymlink "Create a gitlab.yml and create a symlink to Rails root" do
owner "root"
group "root"
mode "0644"
mattermost_host = Gitlab['mattermost_external_url'] || node['gitlab']['gitlab-rails']['mattermost_host']
variables(
node['gitlab']['gitlab-rails'].to_hash.merge(
gitlab_ci_all_broken_builds: node['gitlab']['gitlab-ci']['gitlab_ci_all_broken_builds'],
@ -237,8 +240,8 @@ templatesymlink "Create a gitlab.yml and create a symlink to Rails root" do
git_annex_enabled: node['gitlab']['gitlab-shell']['git_annex_enabled'],
pages_external_http: node['gitlab']['gitlab-pages']['external_http'],
pages_external_https: node['gitlab']['gitlab-pages']['external_https'],
mattermost_host: Gitlab['mattermost_external_url'],
mattermost_enabled: node['gitlab']['mattermost']['enable']
mattermost_host: mattermost_host,
mattermost_enabled: node['gitlab']['mattermost']['enable'] || !mattermost_host.nil?
)
)
restarts dependent_services

View File

@ -118,6 +118,26 @@ describe 'gitlab::gitlab-rails' do
with_content(/mattermost:\s+enabled: false\s+host:\s+/)
end
end
context 'mattermost on another server' do
it 'sets the mattermost host' do
stub_gitlab_rb(gitlab_rails: { mattermost_host: 'http://my.host.com' })
expect(chef_run).to render_file('/var/opt/gitlab/gitlab-rails/etc/gitlab.yml').
with_content(/mattermost:\s+enabled: true\s+host: http:\/\/my.host.com\s+/)
end
context 'values set twice' do
it 'sets the mattermost external url' do
stub_gitlab_rb(mattermost: { enable: true },
mattermost_external_url: 'http://my.url.com',
gitlab_rails: { mattermost_host: 'http://do.not/setme' })
expect(chef_run).to render_file('/var/opt/gitlab/gitlab-rails/etc/gitlab.yml').
with_content(/mattermost:\s+enabled: true\s+host: http:\/\/my.url.com\s+/)
end
end
end
end
end
@ -169,10 +189,10 @@ describe 'gitlab::gitlab-rails' do
it 'creates the template' do
expect(chef_run).to create_template('/var/opt/gitlab/gitlab-rails/etc/database.yml')
.with(
owner: 'root',
group: 'root',
mode: '0644',
)
owner: 'root',
group: 'root',
mode: '0644',
)
expect(chef_run).to render_file('/var/opt/gitlab/gitlab-rails/etc/database.yml').with_content(/host: \'\/var\/opt\/gitlab\/postgresql\'/)
expect(chef_run).to render_file('/var/opt/gitlab/gitlab-rails/etc/database.yml').with_content(/database: gitlabhq_production/)
end
@ -255,10 +275,10 @@ describe 'gitlab::gitlab-rails' do
it 'creates the template' do
expect(chef_run).to create_template('/var/opt/gitlab/gitlab-rails/etc/gitlab_workhorse_secret')
.with(
owner: 'root',
group: 'root',
mode: '0644',
)
owner: 'root',
group: 'root',
mode: '0644',
)
end
it 'template triggers notifications' do
@ -291,10 +311,10 @@ describe 'gitlab::gitlab-rails' do
it 'uses the correct owner and permissions' do
expect(chef_run).to create_template('/var/opt/gitlab/gitlab-rails/etc/gitlab_workhorse_secret')
.with(
owner: 'root',
group: 'root',
mode: '0644',
)
owner: 'root',
group: 'root',
mode: '0644',
)
end
it 'template triggers notifications' do