Module: Pkg::Params

Defined in:
lib/packaging/config/params.rb

Overview

These are all of the parameters known to our packaging system. They are ingested by the config class as class instance variables

Constant Summary collapse

BUILD_PARAMS =
%i[allow_dirty_tree
answer_override
apt_archive_path
apt_archive_repo_command
apt_host
apt_releases
apt_repo_command
apt_repo_name
apt_repo_path
apt_repo_staging_path
apt_repo_url
apt_signing_server
apt_staging_server
author
benchmark
build_data_repo
build_date
build_defaults
build_dmg
build_doc
build_gem
build_ips
build_msi
build_pe
build_tar
builder_data_file
builds_server
bundle_platforms
certificate_pem
cows
db_table
deb_build_host
deb_build_mirrors
deb_targets
debug
debversion
default_cow
default_mock
dev_build
description
distribution_server
dmg_host
dmg_path
dmg_staging_server
downloads_archive_path
email
files
final_mocks
foss_only
foss_platforms
freight_archive_path
freight_conf
gcp_signed_bucket
gcp_tosign_bucket
gem_default_executables
gem_dependencies
gem_description
gem_devel_dependencies
gem_development_dependencies
gem_excludes
gem_executables
gem_files
gem_forge_project
gem_host
gem_license
gem_name
gem_path
gem_platform_dependencies
gem_rdoc_options
gem_require_path
gem_required_ruby_version
gem_required_rubygems_version
gem_runtime_dependencies
gem_summary
gem_test_files
gemversion
gpg_key
gpg_name
homepage
internal_gem_host
ips_build_host
ips_host
ips_inter_cert
ips_package_host
ips_path
ips_repo
ips_root_cert
ips_signing_cert
ips_signing_key
ips_signing_server
ips_signing_ssh_key
ips_store
jenkins_build_host
jenkins_packaging_job
jenkins_repo_path
metrics
metrics_url
msi_host
msi_name
msi_path
msi_signing_gcp_service_account_credentials
msi_signing_service_url
msi_staging_server
name
nonfinal_apt_repo_command
nonfinal_apt_repo_path
nonfinal_apt_repo_staging_path
nonfinal_dmg_path
nonfinal_gem_path
nonfinal_ips_path
nonfinal_msi_path
nonfinal_p5p_path
nonfinal_repo_name
nonfinal_repo_link_target
nonfinal_svr4_path
nonfinal_swix_path
nonfinal_yum_repo_path
notify
nuget_host
nuget_repo_path
origversion
osx_build_host
osx_signing_cert
osx_signing_keychain
osx_signing_keychain_pw
osx_signing_server
osx_signing_ssh_key
p5p_host
p5p_path
packager
packaging_repo
packaging_root
packaging_url
pbuild_conf
pe_feature_branch
pe_release_branch
pe_name
pe_platforms
pe_version
pg_major_version
platform_repos
pre_tar_task
pre_tasks
privatekey_pem
project
project_root
random_mockroot
rc_mocks
redis_hostname
ref
release
repo_link_target
repo_name
rpm_build_host
rpm_targets
rpmrelease
rpmversion
rsync_servers
s3_ship
short_ref
sign_tar
signing_server
staging_server
summary
svr4_host
svr4_path
swix_host
swix_path
swix_staging_server
tar_excludes
tar_host
tar_staging_server
tarball_path
task
team
templates
update_version_file
vanagon_project
version
version_file
version_strategy
yum_archive_path
yum_host
yum_repo_command
yum_repo_name
yum_repo_path
yum_staging_server]
ENV_VARS =

Environment variable overrides for Pkg::Config parameters

:var  => :config_param,    :envvar => :environment var :type => :variable type

Note: :type is assumed :string if not present
[
 { :var => :allow_dirty_tree,        :envvar => :ALLOW_DIRTY_TREE, :type => :bool },
 { :var => :answer_override,         :envvar => :ANSWER_OVERRIDE },
 { :var => :apt_archive_path,        :envvar => :APT_ARCHIVE_PATH },
 { :var => :apt_archive_repo_command, :envvar => :APT_ARCHIVE_REPO_COMMAND },
 { :var => :apt_host,                :envvar => :APT_HOST },
 { :var => :apt_releases,            :envvar => :APT_RELEASES, :type => :array },
 { :var => :apt_repo_path,           :envvar => :APT_REPO },
 { :var => :apt_repo_staging_path,   :envvar => :APT_REPO_STAGING_PATH },
 { :var => :apt_signing_server,      :envvar => :APT_SIGNING_SERVER },
 { :var => :apt_staging_server,      :envvar => :APT_STAGING_SERVER },
 { :var => :build_data_repo,         :envvar => :BUILD_DATA_REPO },
 { :var => :build_dmg,               :envvar => :DMG,             :type => :bool },
 { :var => :build_doc,               :envvar => :DOC,             :type => :bool },
 { :var => :build_gem,               :envvar => :GEM,             :type => :bool },
 { :var => :build_ips,               :envvar => :IPS,             :type => :bool },
 { :var => :build_msi,               :envvar => :MSI,             :type => :bool },
 { :var => :build_pe,                :envvar => :PE_BUILD,        :type => :bool },
 { :var => :build_tar,               :envvar => :TAR,             :type => :bool },
 { :var => :certificate_pem,         :envvar => :CERT_PEM },
 { :var => :cows,                    :envvar => :COW },
 { :var => :debug,                   :envvar => :DEBUG, :type => :bool },
 { :var => :default_cow,             :envvar => :COW },
 { :var => :default_mock,            :envvar => :MOCK },
 { :var => :dev_build,               :envvar => :DEV_BUILD, :type => :bool },
 { :var => :dmg_host,                :envvar => :DMG_HOST },
 { :var => :dmg_path,                :envvar => :DMG_PATH },
 { :var => :dmg_staging_server,      :envvar => :DMG_STAGING_SERVER },
 { :var => :downloads_archive_path,  :envvar => :DOWNLOADS_ARCHIVE_PATH },
 { :var => :final_mocks,             :envvar => :MOCK },
 { :var => :foss_only,               :envvar => :FOSS_ONLY,       :type => :bool },
 { :var => :foss_platforms,          :envvar => :FOSS_PLATFORMS,  :type => :array },
 { :var => :freight_archive_path,    :envvar => :FREIGHT_ARCHIVE_PATH },
 { :var => :gcp_signed_bucket,       :envvar => :GCP_SIGNED_BUCKET },
 { :var => :gcp_tosign_bucket,       :envvar => :GCP_TOSIGN_BUCKET },
 { :var => :gem_host,                :envvar => :GEM_HOST },
 { :var => :gpg_key,                 :envvar => :GPG_KEY },
 { :var => :gpg_name,                :envvar => :GPG_NAME },
 { :var => :ips_host,                :envvar => :IPS_HOST },
 { :var => :ips_inter_cert,          :envvar => :IPS_INTER_CERT },
 { :var => :ips_path,                :envvar => :IPS_PATH },
 { :var => :ips_repo,                :envvar => :IPS_REPO },
 { :var => :ips_root_cert,           :envvar => :IPS_ROOT_CERT },
 { :var => :ips_signing_cert,        :envvar => :IPS_SIGNING_CERT },
 { :var => :ips_signing_key,         :envvar => :IPS_SIGNING_KEY },
 { :var => :ips_signing_server,      :envvar => :IPS_SIGNING_SERVER },
 { :var => :ips_signing_ssh_key,     :envvar => :IPS_SIGNING_SSH_KEY },
 { :var => :msi_host,                :envvar => :MSI_HOST },
 { :var => :msi_path,                :envvar => :MSI_PATH },
 { :var => :msi_signing_gcp_service_account_credentials, :envvar => :MSI_SIGNING_GCP_SERVICE_ACCOUNT_CREDENTIALS },
 { :var => :msi_signing_service_url, :envvar => :MSI_SIGNING_SERVICE_URL },
 { :var => :msi_staging_server,      :envvar => :MSI_STAGING_SERVER },
 { :var => :nonfinal_apt_repo_command, :envvar => :NONFINAL_APT_REPO_COMMAND },
 { :var => :nonfinal_apt_repo_path, :envvar => :NONFINAL_APT_REPO_PATH },
 { :var => :nonfinal_apt_repo_staging_path, :envvar => :NONFINAL_APT_REPO_STAGING_PATH },
 { :var => :nonfinal_dmg_path,       :envvar => :NONFINAL_DMG_PATH },
 { :var => :nonfinal_gem_path,       :envvar => :NONFINAL_GEM_PATH },
 { :var => :nonfinal_ips_path,       :envvar => :NONFINAL_IPS_PATH },
 { :var => :nonfinal_msi_path,       :envvar => :NONFINAL_MSI_PATH },
 { :var => :nonfinal_p5p_path,       :envvar => :NONFINAL_P5P_PATH },
 { :var => :nonfinal_repo_link_target, :envvar => :NONFINAL_REPO_LINK_TARGET },
 { :var => :nonfinal_repo_name,      :envvar => :NONFINAL_REPO_NAME },
 { :var => :nonfinal_svr4_path,      :envvar => :NONFINAL_SVR4_PATH },
 { :var => :nonfinal_swix_path,      :envvar => :NONFINAL_SWIX_PATH },
 { :var => :nonfinal_yum_repo_path,  :envvar => :NONFINAL_YUM_REPO_PATH },
 { :var => :notify,                  :envvar => :NOTIFY },
 { :var => :nuget_host,              :envvar => :NUGET_HOST },
 { :var => :nuget_repo_path,         :envvar => :NUGET_REPO },
 { :var => :osx_signing_cert,        :envvar => :OSX_SIGNING_CERT },
 { :var => :osx_signing_keychain,    :envvar => :OSX_SIGNING_KEYCHAIN },
 { :var => :osx_signing_keychain_pw, :envvar => :OSX_SIGNING_KEYCHAIN_PW },
 { :var => :osx_signing_server,      :envvar => :OSX_SIGNING_SERVER },
 { :var => :osx_signing_ssh_key,     :envvar => :OSX_SIGNING_SSH_KEY },
 { :var => :p5p_host,                :envvar => :P5P_HOST },
 { :var => :p5p_path,                :envvar => :P5P_PATH },
 { :var => :packager,                :envvar => :PACKAGER },
 { :var => :pbuild_conf,             :envvar => :PBUILDCONF },
 { :var => :pe_feature_branch,       :envvar => :PE_FEATURE_BRANCH },
 { :var => :pe_version,              :envvar => :PE_VER },
 { :var => :privatekey_pem,          :envvar => :PRIVATE_PEM },
 { :var => :project,                 :envvar => :PROJECT_OVERRIDE },
 { :var => :project_root,            :envvar => :PROJECT_ROOT },
 { :var => :random_mockroot,         :envvar => :RANDOM_MOCKROOT, :type => :bool },
 { :var => :rc_mocks,                :envvar => :MOCK },
 { :var => :release,                 :envvar => :RELEASE },
 { :var => :repo_name,               :envvar => :REPO_NAME },
 { :var => :repo_link_target,        :envvar => :REPO_LINK_TARGET },
 { :var => :s3_ship,                 :envvar => :S3_SHIP,         :type => :bool },
 { :var => :sign_tar,                :envvar => :SIGN_TAR,        :type => :bool },
 { :var => :signing_server,          :envvar => :SIGNING_SERVER },
 { :var => :staging_server,          :envvar => :STAGING_SERVER },
 { :var => :swix_host,               :envvar => :SWIX_HOST },
 { :var => :swix_staging_server,     :envvar => :SWIX_STAGING_SERVER },
 { :var => :svr4_host,               :envvar => :SVR4_HOST },
 { :var => :svr4_path,               :envvar => :SVR4_PATH },
 { :var => :swix_path,               :envvar => :SWIX_PATH },
 { :var => :tar_host,                :envvar => :TAR_HOST },
 { :var => :tar_staging_server,      :envvar => :TAR_STAGING_SERVER },
 { :var => :team,                    :envvar => :TEAM },
 { :var => :update_version_file,     :envvar => :NEW_STYLE_PACKAGE },
 { :var => :vanagon_project,         :envvar => :VANAGON_PROJECT, :type => :bool },
 { :var => :version,                 :envvar => :PACKAGING_PACKAGE_VERSION },
 { :var => :yum_archive_path,        :envvar => :YUM_ARCHIVE_PATH },
 { :var => :yum_host,                :envvar => :YUM_HOST },
 { :var => :yum_repo_path,           :envvar => :YUM_REPO },
 { :var => :yum_staging_server,      :envvar => :YUM_STAGING_SERVER },
 { :var => :internal_gem_host,       :envvar => :INTERNAL_GEM_HOST },
]
DEFAULTS =

Default values that are supplied if the user does not supply them

usage is the same as above

[{ :var => :allow_dirty_tree,        :val => false },
{ :var => :builder_data_file,       :val => 'builder_data.yaml' },
{ :var => :team,                    :val => 'dev' },
{ :var => :random_mockroot,         :val => true },
{ :var => :keychain_loaded,         :val => false },
{ :var => :foss_only,               :val => false },
{ :var => :build_data_repo,         :val => 'https://github.com/puppetlabs/build-data.git' },
{ :var => :build_date,              :val => Pkg::Util::Date.timestamp('-') },
{ :var => :release,                 :val => '1' },
{ :var => :internal_gem_host,       :val => 'https://artifactory.delivery.puppetlabs.net/artifactory/api/gems/rubygems__local' },
{ :var => :build_tar,               :val => true },
{ :var => :dev_build,               :val => false },
{ :var => :osx_signing_cert,        :val => '$OSX_SIGNING_CERT' },
{ :var => :osx_signing_keychain,    :val => '$OSX_SIGNING_KEYCHAIN' },
{ :var => :osx_signing_keychain_pw, :val => '$OSX_SIGNING_KEYCHAIN_PW' },
{ :var => :ips_signing_cert,        :val => '$IPS_SIGNING_CERT' },
{ :var => :ips_inter_cert,          :val => '$IPS_INTER_CERT' },
{ :var => :ips_root_cert,           :val => '$IPS_ROOT_CERT' },
{ :var => :ips_signing_key,         :val => '$IPS_SIGNING_KEY' },
{ :var => :pe_feature_branch,       :val => false },
{ :var => :pe_release_branch,       :val => false },
{ :var => :s3_ship,                 :val => false },
{ :var => :apt_releases,            :val => Pkg::Platforms.codenames }]
REASSIGNMENTS =

These are variables which, over time, we decided to rename or replace. For backwards compatibility, we assign the value of the old/deprecated variables, if set, to the new ones. We also use this method for accessor “redirects” - e.g. defaulting the populated value of one parameter for another in case it is not set.

[
   # These are fall-through values for shipping endpoints
   { :oldvar => :staging_server,         :newvar => :apt_staging_server },
   { :oldvar => :staging_server,         :newvar => :dmg_staging_server },
   { :oldvar => :staging_server,         :newvar => :swix_staging_server },
   { :oldvar => :staging_server,         :newvar => :tar_staging_server },
   { :oldvar => :staging_server,         :newvar => :yum_staging_server },
   # These are fall-through values for signing/repo endpoints
   { :oldvar => :yum_staging_server,     :newvar => :yum_host },
   { :oldvar => :apt_repo_staging_path,  :newvar => :apt_repo_path },
   { :oldvar => :apt_signing_server,     :newvar => :apt_host },
   # These are legitimately old values
   { :oldvar => :gem_devel_dependencies, :newvar => :gem_development_dependencies },
   { :oldvar => :gpg_name,               :newvar => :gpg_key },
   { :oldvar => :name,                   :newvar => :project },
   { :oldvar => :pe_name,                :newvar => :project },
   { :oldvar => :project,                :newvar => :gem_name },
   { :oldvar => :yum_host,               :newvar => :swix_host },
   { :oldvar => :yum_host,               :newvar => :dmg_host },
   { :oldvar => :yum_host,               :newvar => :tar_host },
]
DEPRECATIONS =

These are variables that we have deprecated. If they are encountered in a project’s config, we issue deprecations for them.

[{ :var => :gem_devel_dependencies, :message => "
    DEPRECATED, 9-Nov-2013: 'gem_devel_dependencies' has been replaced with
    'gem_development_dependencies.' Please update this field in your
    build_defaults.yaml or project_data.yaml" },
                  { :var => :gpg_name, :message => "
    DEPRECATED, 29-Jul-2014: 'gpg_name' has been replaced with 'gpg_key'.
Please update this field in your build_defaults.yaml" }]
VALIDATIONS =

Provide an open-ended template for validating BUILD_PARAMS.

Each validatation contains the variable name as ‘:var’ and a list of validations it must pass from the Pkg::Params::Validations class.

[
  { :var => :project, :validations => [:not_empty?] }
]