Class: Mixlib::Install::Backend::Omnitruck

Inherits:
Base
  • Object
show all
Defined in:
lib/mixlib/install/backend/omnitruck.rb

Constant Summary collapse

ENDPOINT =
"https://omnitruck.chef.io/".freeze

Instance Attribute Summary

Attributes inherited from Base

#options

Instance Method Summary collapse

Methods inherited from Base

#available_versions, #filter_artifacts, #info, #initialize, #normalize_platform, #platform_filters_available?, #windows_artifact_fixup!

Constructor Details

This class inherits a constructor from Mixlib::Install::Backend::Base

Instance Method Details

#available_artifactsObject



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/mixlib/install/backend/omnitruck.rb', line 34

def available_artifacts
  # If we are querying a single platform we need to call metadata
  # endpoint otherwise we need to call versions endpoint in omnitruck
  if options.platform
    build = omnitruck_get("metadata", p: options.platform,
                                      pv: options.platform_version,
                                      m: options.architecture,
                                      v: options.product_version
                         )
    ArtifactInfo.from_json(build,
                           platform: options.platform,
                           platform_version: options.platform_version,
                           architecture: options.architecture
    )
  else
    builds = omnitruck_get("versions", v: options.product_version)
    ArtifactInfo.(builds)
  end
end

#endpointObject



30
31
32
# File 'lib/mixlib/install/backend/omnitruck.rb', line 30

def endpoint
  @endpoint ||= ENV.fetch("OMNITRUCK_ENDPOINT", ENDPOINT)
end