Manage tripleo-ui configuration files with puppet
This commit ensures the tripleo-ui configuration files are present and are matching the environment. Change-Id: I0deeffa9026b1f5cd36a9810aaee7832e31c3c93
This commit is contained in:
parent
48f965b5ed
commit
5ad9778b46
@ -20,5 +20,7 @@ class tripleo::profile::base::ui () {
|
||||
package {'openstack-tripleo-ui': }
|
||||
|
||||
include ::apache
|
||||
|
||||
include ::tripleo::ui
|
||||
}
|
||||
|
||||
|
108
manifests/ui.pp
Normal file
108
manifests/ui.pp
Normal file
@ -0,0 +1,108 @@
|
||||
# Copyright 2016 Red Hat, Inc.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
# == Class: tripleo::ui
|
||||
#
|
||||
# Configure TripleO UI.
|
||||
#
|
||||
# === Parameters:
|
||||
#
|
||||
# [*servername*]
|
||||
# The servername for the virtualhost.
|
||||
# Optional. Defaults to $::fqdn
|
||||
#
|
||||
# [*bind_host*]
|
||||
# The host/ip address Apache will listen on.
|
||||
# Optional. Defaults to undef (listen on all ip addresses).
|
||||
#
|
||||
# [*ui_port*]
|
||||
# The port on which the UI is listening.
|
||||
# Defaults to 3000
|
||||
#
|
||||
# [*keystone_url*]
|
||||
# The keystone service url
|
||||
# Defaults to hiera('keystone::endpoint::public_url')
|
||||
#
|
||||
# [*heat_url*]
|
||||
# The heat service url
|
||||
# Defaults to hiera('heat::keystone::auth::public_url')
|
||||
#
|
||||
# [*heat_url*]
|
||||
# The heat service url
|
||||
# Defaults to hiera('heat::keystone::auth::public_url')
|
||||
#
|
||||
# [*heat_url*]
|
||||
# The heat service url
|
||||
# Defaults to hiera('heat::keystone::auth::public_url')
|
||||
#
|
||||
# [*ironic_url*]
|
||||
# The ironic service url
|
||||
# Defaults to hiera('ironic::keystone::auth::public_url')
|
||||
#
|
||||
# [*mistral_url*]
|
||||
# The mistral service url
|
||||
# Defaults to hiera('mistral::keystone::auth::public_url')
|
||||
#
|
||||
# [*swift_url*]
|
||||
# The swift service url
|
||||
# Defaults to hiera('swift::keystone::auth::public_url')
|
||||
#
|
||||
# [*zaqar_websocket_url*]
|
||||
# The zaqar websocket url
|
||||
# Defaults to hiera('zaquar::keystone::auth_websocket::public_url')
|
||||
#
|
||||
# [*zaqar_default_queue*]
|
||||
# The zaqar default queue
|
||||
# A string.
|
||||
# Defaults to 'tripleo'
|
||||
#
|
||||
class tripleo::ui (
|
||||
$servername = $::fqdn,
|
||||
$bind_host = undef,
|
||||
$ui_port = 3000,
|
||||
$keystone_url = hiera('keystone::endpoint::public_url'),
|
||||
$heat_url = hiera('heat::keystone::auth::public_url', undef),
|
||||
$ironic_url = hiera('ironic::keystone::auth::public_url', undef),
|
||||
$mistral_url = hiera('mistral::keystone::auth::public_url', undef),
|
||||
$swift_url = hiera('swift::keystone::auth::public_url', undef),
|
||||
$zaqar_websocket_url = hiera('zaqar::keystone::auth_websocket::public_url', undef),
|
||||
$zaqar_default_queue = 'tripleo'
|
||||
) {
|
||||
|
||||
::apache::vhost { 'tripleo-ui':
|
||||
ensure => 'present',
|
||||
servername => $servername,
|
||||
ip => $bind_host,
|
||||
port => $ui_port,
|
||||
docroot => '/var/www/openstack-tripleo-ui/dist',
|
||||
options => ['Indexes', 'FollowSymLinks'],
|
||||
rewrites => [
|
||||
{
|
||||
comment => 'Redirect 404 to index',
|
||||
rewrite_cond => ['%{REQUEST_FILENAME} !-f', '%{REQUEST_FILENAME} !-d'],
|
||||
rewrite_rule => ['(.*) index.html'],
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
file { '/var/www/openstack-tripleo-ui/dist/tripleo_ui_config.js' :
|
||||
ensure => file,
|
||||
content => template('tripleo/ui/tripleo_ui_config.js.erb'),
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
}
|
||||
|
||||
}
|
14
templates/ui/tripleo_ui_config.js.erb
Normal file
14
templates/ui/tripleo_ui_config.js.erb
Normal file
@ -0,0 +1,14 @@
|
||||
window.tripleOUiConfig = {
|
||||
"keystone": "<%= @keystone_url %>",
|
||||
|
||||
// The UI automatically discovers below URLs by querying keystone but can be
|
||||
// changed here if desired.
|
||||
//"heat": "<%= @heat_url %>",
|
||||
//"ironic": "<%= @ironic_url %>",
|
||||
//"mistral": "<%= @mistral_url %>",
|
||||
//"swift": "<%= @swift_url %>",
|
||||
//"zaqar_websocket_url": "<%= @zaqar_websocket_url %>",
|
||||
|
||||
// Default websocket queue name
|
||||
"zaqar_default_queue": "<%= @zaqar_default_queue %>"
|
||||
};
|
Loading…
Reference in New Issue
Block a user