Colleen Murphy 81d0f9d161 Add Gemfile and puppet 4 checks
In anticipation of puppet 4, start trying to deal with puppet 4 things
that can be helpfully predicted by puppet lint plugins.

This patch also corrects lint errors caught by the
puppet-lint-empty_string-check plugin by changing the default value of
the $base parameter to be undef instead of empty string, which will be
evaluated the same when interpolated in a string, and by making the
$url parameter required.

Change-Id: Ic1146cbd44b589c5dfca10deb410301ef4d46528
2015-08-13 16:26:34 -07:00

54 lines
2.0 KiB
Puppet

# Copyright 2014 Hewlett-Packard Development Company, L.P.
#
# 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: project_config
#
class project_config(
$url,
$base = undef,
) {
$config_dir = Vcsrepo['/etc/project-config']
# Note project_config_ref is expected to be provided by facter
# if you want to use it.
if ($::project_config_ref != undef) {
$revision = $::project_config_ref
} else {
$revision = 'master'
}
if (!defined($config_dir)) {
vcsrepo { '/etc/project-config':
ensure => latest,
provider => git,
revision => $revision,
source => $url,
}
}
$accessbot_channels_yaml = "/etc/project-config/${base}accessbot/channels.yaml"
$gerritbot_channel_file = "/etc/project-config/${base}gerritbot/channels.yaml"
$gerrit_acls_dir = "/etc/project-config/${base}gerrit/acls"
$gerrit_notify_impact_file = "/etc/project-config/${base}gerrit/notify_impact.yaml"
$jeepyb_project_file = "/etc/project-config/${base}gerrit/projects.yaml"
$jenkins_job_builder_config_dir = "/etc/project-config/${base}jenkins/jobs"
$jenkins_data_dir = "/etc/project-config/${base}jenkins/data"
$jenkins_scripts_dir = "/etc/project-config/${base}jenkins/scripts"
$nodepool_scripts_dir = "/etc/project-config/${base}nodepool/scripts"
$nodepool_elements_dir = "/etc/project-config/${base}nodepool/elements"
$zuul_layout_dir = "/etc/project-config/${base}zuul"
}