Module: PDK

Defined in:
lib/pdk.rb,
lib/pdk/bolt.rb,
lib/pdk/util.rb,
lib/pdk/config.rb,
lib/pdk/logger.rb,
lib/pdk/module.rb,
lib/pdk/report.rb,
lib/pdk/context.rb,
lib/pdk/version.rb,
lib/pdk/cli/exec.rb,
lib/pdk/cli/util.rb,
lib/pdk/generate.rb,
lib/pdk/template.rb,
lib/pdk/util/env.rb,
lib/pdk/util/git.rb,
lib/pdk/validate.rb,
lib/pdk/analytics.rb,
lib/pdk/cli/errors.rb,
lib/pdk/tests/unit.rb,
lib/pdk/answer_file.rb,
lib/pdk/config/json.rb,
lib/pdk/config/yaml.rb,
lib/pdk/context/none.rb,
lib/pdk/control_repo.rb,
lib/pdk/module/build.rb,
lib/pdk/report/event.rb,
lib/pdk/util/bundler.rb,
lib/pdk/util/version.rb,
lib/pdk/util/windows.rb,
lib/pdk/config/errors.rb,
lib/pdk/generate/task.rb,
lib/pdk/module/update.rb,
lib/pdk/analytics/util.rb,
lib/pdk/cli/exec_group.rb,
lib/pdk/config/setting.rb,
lib/pdk/context/module.rb,
lib/pdk/module/convert.rb,
lib/pdk/module/release.rb,
lib/pdk/config/ini_file.rb,
lib/pdk/generate/module.rb,
lib/pdk/module/metadata.rb,
lib/pdk/util/filesystem.rb,
lib/pdk/cli/exec/command.rb,
lib/pdk/config/namespace.rb,
lib/pdk/config/validator.rb,
lib/pdk/template/fetcher.rb,
lib/pdk/util/json_finder.rb,
lib/pdk/generate/provider.rb,
lib/pdk/template/renderer.rb,
lib/pdk/util/ruby_version.rb,
lib/pdk/util/template_uri.rb,
lib/pdk/cli/util/interview.rb,
lib/pdk/generate/transport.rb,
lib/pdk/util/vendored_file.rb,
lib/pdk/validate/validator.rb,
lib/pdk/util/puppet_strings.rb,
lib/pdk/util/puppet_version.rb,
lib/pdk/context/control_repo.rb,
lib/pdk/template/fetcher/git.rb,
lib/pdk/template/renderer/v1.rb,
lib/pdk/analytics/client/noop.rb,
lib/pdk/generate/defined_type.rb,
lib/pdk/generate/puppet_class.rb,
lib/pdk/module/update_manager.rb,
lib/pdk/template/template_dir.rb,
lib/pdk/generate/puppet_object.rb,
lib/pdk/template/fetcher/local.rb,
lib/pdk/config/ini_file_setting.rb,
lib/pdk/config/json_with_schema.rb,
lib/pdk/config/yaml_with_schema.rb,
lib/pdk/util/changelog_generator.rb,
lib/pdk/validate/validator_group.rb,
lib/pdk/cli/util/option_validator.rb,
lib/pdk/cli/util/option_normalizer.rb,
lib/pdk/config/json_schema_setting.rb,
lib/pdk/cli/util/command_redirector.rb,
lib/pdk/cli/exec/interactive_command.rb,
lib/pdk/config/json_schema_namespace.rb,
lib/pdk/generate/resource_api_object.rb,
lib/pdk/validate/invokable_validator.rb,
lib/pdk/template/renderer/v1/renderer.rb,
lib/pdk/cli/util/update_manager_printer.rb,
lib/pdk/validate/internal_ruby_validator.rb,
lib/pdk/analytics/client/google_analytics.rb,
lib/pdk/template/renderer/v1/template_file.rb,
lib/pdk/validate/ruby/ruby_validator_group.rb,
lib/pdk/validate/yaml/yaml_validator_group.rb,
lib/pdk/validate/external_command_validator.rb,
lib/pdk/validate/tasks/tasks_name_validator.rb,
lib/pdk/validate/yaml/yaml_syntax_validator.rb,
lib/pdk/validate/puppet/puppet_epp_validator.rb,
lib/pdk/validate/ruby/ruby_rubocop_validator.rb,
lib/pdk/validate/tasks/tasks_validator_group.rb,
lib/pdk/validate/puppet/puppet_lint_validator.rb,
lib/pdk/validate/puppet/puppet_validator_group.rb,
lib/pdk/validate/puppet/puppet_syntax_validator.rb,
lib/pdk/template/renderer/v1/legacy_template_dir.rb,
lib/pdk/validate/metadata/metadata_validator_group.rb,
lib/pdk/validate/metadata/metadata_syntax_validator.rb,
lib/pdk/validate/tasks/tasks_metadata_lint_validator.rb,
lib/pdk/validate/metadata/metadata_json_lint_validator.rb,
lib/pdk/validate/control_repo/environment_conf_validator.rb,
lib/pdk/validate/control_repo/control_repo_validator_group.rb

Defined Under Namespace

Modules: Analytics, Bolt, CLI, Context, ControlRepo, Generate, Module, Template, Test, Util, Validate Classes: AnswerFile, Config, Logger, Report

Constant Summary collapse

VERSION =
'1.18.1'.freeze
TEMPLATE_REF =
VERSION

Class Method Summary collapse

Class Method Details

.analyticsObject



64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/pdk.rb', line 64

def self.analytics
  @analytics ||= PDK::Analytics.build_client(
    logger:        PDK.logger,
    disabled:      PDK::Util::Env['PDK_DISABLE_ANALYTICS'] || PDK.config.get_within_scopes('analytics.disabled', %w[user system]),
    user_id:       PDK.config.get_within_scopes('analytics.user-id', %w[user system]),
    app_id:        "UA-139917834-#{PDK::Util.development_mode? ? '2' : '1'}",
    client:        :google_analytics,
    app_name:      'pdk',
    app_version:   PDK::VERSION,
    app_installer: PDK::Util.package_install? ? 'package' : 'gem',
  )
end

.available_feature_flagsObject



49
50
51
52
53
# File 'lib/pdk.rb', line 49

def self.available_feature_flags
  @available_feature_flags ||= %w[
    controlrepo
  ].freeze
end

.configObject



38
39
40
41
42
43
# File 'lib/pdk.rb', line 38

def self.config
  return @config unless @config.nil?
  options = {}
  options['user.module_defaults.path'] = PDK::Util::Env['PDK_ANSWER_FILE'] unless PDK::Util::Env['PDK_ANSWER_FILE'].nil?
  @config = PDK::Config.new(options)
end

.contextObject



45
46
47
# File 'lib/pdk.rb', line 45

def self.context
  @context ||= PDK::Context.create(Dir.pwd)
end

.feature_flag?(flagname) ⇒ Boolean

Returns:

  • (Boolean)


59
60
61
62
# File 'lib/pdk.rb', line 59

def self.feature_flag?(flagname)
  return false unless available_feature_flags.include?(flagname)
  requested_feature_flags.include?(flagname)
end

.loggerObject



34
35
36
# File 'lib/pdk.rb', line 34

def self.logger
  @logger ||= PDK::Logger.new
end

.requested_feature_flagsObject



55
56
57
# File 'lib/pdk.rb', line 55

def self.requested_feature_flags
  @requested_feature_flags ||= (PDK::Util::Env['PDK_FEATURE_FLAGS'] || '').split(',').map { |flag| flag.strip }
end