Skip to content

Include missing EC2 stub request#272

Merged
bastelfreak merged 1 commit intoOpenVoxProject:mainfrom
eciii:include-missing-ec2-stub-request
Dec 16, 2025
Merged

Include missing EC2 stub request#272
bastelfreak merged 1 commit intoOpenVoxProject:mainfrom
eciii:include-missing-ec2-stub-request

Conversation

@eciii
Copy link
Contributor

@eciii eciii commented Dec 12, 2025

I'm trying to run the full test suite locally (on Ubuntu LTS and on CentOS Stream 10) but I keep getting failures on several tests related to Facter. Here is a snippet of the output of one of such tests:

1) Puppet::Node::Facts::Facter preserves case in fact values
   Failure/Error: ::Facter.resolve(options)
   WebMock::NetConnectNotAllowedError:
     Real HTTP connections are disabled. Unregistered request: PUT http://169.254.169.254/latest/api/token with headers {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'User-Agent'=>'Ruby', 'X-Aws-Ec2-Metadata-Token-Ttl-Seconds'=>'100'}

The reason, I believe, is a leaked EC2 request due to the following bug in Facter: puppetlabs/facter#2690. This PR adds the leaked EC2 request as a stub request in the test suite.

@bastelfreak
Copy link
Contributor

Hi, can you explain a bit how you run the tests any maybe post bundle env output? The tests were working before in our CI (but maybe the github runners have an accessible EC2 API, who knows).

@bastelfreak bastelfreak added the bug Something isn't working label Dec 12, 2025
@eciii
Copy link
Contributor Author

eciii commented Dec 12, 2025

Sure, I use rbenv to setup Ruby and Bundler. When the setup is done I execute the command bundle exec rake parallel:spec to run the full test suite. A bunch of dots and asterisks are printed while the suite is running and in the end a report with the failed test is printed. The output of bundle env is in the comment below.

I also wonder why problem doesn't occur in the GitHub CI and my hypothesis was exactly the one that you mentioned. I think this problem only occur locally.

@eciii
Copy link
Contributor Author

eciii commented Dec 12, 2025

Output of bundle env.


Environment

Bundler       4.0.1
  Platforms   ruby, x86_64-linux
Ruby          3.4.7p58 (2025-10-08 revision 7a5688e2a27668e48f8d6ff4af5b2208b98a2f5e) [x86_64-linux]
  Full Path   /home/usr/.rbenv/versions/3.4.7/bin/ruby
  Config Dir  /home/usr/.rbenv/versions/3.4.7/etc
RubyGems      3.7.2
  Gem Home    /home/usr/.rbenv/versions/3.4.7/lib/ruby/gems/3.4.0
  Gem Path    /home/usr/.local/share/gem/ruby/3.4.0:/home/usr/.rbenv/versions/3.4.7/lib/ruby/gems/3.4.0
  User Home   /home/usr
  User Path   /home/usr/.local/share/gem/ruby/3.4.0
  Bin Dir     /home/usr/.rbenv/versions/3.4.7/bin
Tools         
  Git         2.43.0
  RVM         not installed
  rbenv       rbenv 1.3.2-16-gba96d7e
  chruby      not installed

Bundler Build Metadata

Timestamp  2025-12-09
Git SHA    f3e5ebf5af

Bundler settings

path
  Set for your local app (/home/usr/desk/openvox/openvox/.bundle/config): ".bundle"

Gemfile

Gemfile

source ENV['GEM_SOURCE'] || "https://rubygems.org"

gemspec

def location_for(place, fake_version = nil)
  if place.is_a?(String) && place =~ /^((?:git[:@]|https:)[^#]*)#(.*)/
    [fake_version, { git: $1, branch: $2, require: false }].compact
  elsif place.is_a?(String) && place =~ /^file:\/\/(.*)/
    ['>= 0', { path: File.expand_path($1), require: false }]
  else
    [place, { require: false }]
  end
end

# Make sure these gem requirements are in sync with the gemspec. Specifically,
# the runtime_dependencies in openvox.gemspec match the runtime dependencies here
# (like openfact, semantic_puppet, and puppet-resource_api)

gem "openfact", *location_for(ENV['OPENFACT_LOCATION'] || ["~> 5.0"])
gem "semantic_puppet", *location_for(ENV['SEMANTIC_PUPPET_LOCATION'] || ["~> 1.0"])
gem "puppet-resource_api", *location_for(ENV['RESOURCE_API_LOCATION'] || ["~> 2.0"])
# Need to update the openssl gem on MacOS to avoid SSL errors. Doesn't hurt to have the newest
# for all platforms.
# https://www.rubyonmac.dev/certificate-verify-failed-unable-to-get-certificate-crl-openssl-ssl-sslerror
gem 'openssl' unless `uname -o`.chomp == 'Cygwin'

group(:features) do
  gem 'diff-lcs', '~> 1.3', require: false
  gem "hiera", *location_for(ENV['HIERA_LOCATION']) if ENV.has_key?('HIERA_LOCATION')
  gem 'hiera-eyaml', *location_for(ENV['HIERA_EYAML_LOCATION'])
  gem 'hocon', '~> 1.0', require: false
  # requires native libshadow headers/libs
  #gem 'ruby-shadow', '~> 2.5', require: false, platforms: [:ruby]
  gem 'minitar', '~> 1.0', require: false
  gem 'msgpack', '~> 1.2', require: false
  gem 'rdoc', ['~> 6.0', '< 6.4.0'], require: false, platforms: [:ruby]
  # requires native augeas headers/libs
  # gem 'ruby-augeas', require: false, platforms: [:ruby]
  # requires native ldap headers/libs
  # gem 'ruby-ldap', '~> 0.9', require: false, platforms: [:ruby]
  gem 'openvoxserver-ca', '~> 3.0', require: false
  gem 'syslog', '>= 0.1.1', '< 1', require: false, platforms: [:ruby]
  gem 'CFPropertyList', ['>= 3.0.6', '< 4'], require: false
end

group(:test) do
  # 1.16.0 - 1.16.2 are broken on Windows
  gem 'ffi', '>= 1.15.5', '< 2', '!= 1.16.0', '!= 1.16.1', '!= 1.16.2', require: false
  gem "json-schema", '>= 2', '< 6', require: false
  gem "rake", *location_for(ENV['RAKE_LOCATION'] || '~> 13.0')
  gem "rspec", "~> 3.1", require: false
  gem "rspec-expectations", ["~> 3.9", "!= 3.9.3"]
  gem "rspec-its", "~> 1.1", require: false
  gem 'rspec-mocks', '< 3.13.3', require: false # breaking change afterwards: https://github.com/rspec/rspec-mocks/pull/1596
  gem 'vcr', '~> 6.1', require: false
  gem 'webmock', '~> 3.0', require: false
  gem 'webrick', '~> 1.7', require: false
  gem 'yard', require: false

  gem 'rubocop', '~> 1.81.6', require: false, platforms: [:ruby]
  gem 'rubocop-i18n', '~> 3.0', require: false, platforms: [:ruby]
  gem 'rubocop-performance', '~> 1.0', require: false, platforms: [:ruby]
  gem 'rubocop-rake', '~> 0.6', require: false, platforms: [:ruby]
  gem 'rubocop-rspec', '~> 3.0', require: false, platforms: [:ruby]
end

group(:development, optional: true) do
  gem 'memory_profiler', require: false, platforms: [:mri]
  gem 'pry', require: false, platforms: [:ruby]
  if RUBY_PLATFORM != 'java'
    gem 'ruby-prof', '>= 0.16.0', require: false
  end
end

group(:packaging) do
  gem 'packaging', *location_for(ENV['PACKAGING_LOCATION'] || '~> 0.105')
  if RUBY_VERSION >= '3.2'
    gem 'vanagon', *location_for(ENV['VANAGON_LOCATION'] || 'https://github.com/openvoxproject/vanagon#main')
  end
  gem 'artifactory'
  gem 'json'
  gem 'octokit'
end

group(:documentation, optional: true) do
  gem 'gettext-setup', '~> 1.0', require: false, platforms: [:ruby]
  gem 'ronn-ng', '~> 0.10.1', require: false, platforms: [:ruby]
  gem 'puppet-strings', require: false, platforms: [:ruby]
  gem 'pandoc-ruby', require: false, platforms: [:ruby]
end

group :release, optional: true do
  gem 'faraday-retry', require: false
  gem 'github_changelog_generator', require: false, git: 'https://github.com/voxpupuli/github-changelog-generator', branch: 'avoid-processing-a-single-commit-multiple-time'
end

if File.exist? "#{__FILE__}.local"
  eval(File.read("#{__FILE__}.local"), binding)
end

# vim:filetype=ruby

Gemfile.lock

GIT
  remote: https://github.com/openvoxproject/vanagon
  revision: 09751dd9bfb91098f6df30cef0cd378697152a31
  branch: main
  specs:
    vanagon (1.0.0)
      build-uri (~> 1.0)
      docopt (~> 0.6.1)
      git (>= 3.1, < 5.0)
      lock_manager (~> 0.1.5)
      packaging (~> 0.122.3)
      psych (>= 4.0, < 6)

GIT
  remote: https://github.com/voxpupuli/github-changelog-generator
  revision: a0344af33bad257ae68336093d5945c64ca1f368
  branch: avoid-processing-a-single-commit-multiple-time
  specs:
    github_changelog_generator (1.16.4)
      activesupport
      async (>= 1.25.0)
      async-http-faraday
      faraday-http-cache
      octokit (~> 4.6)
      rainbow (>= 2.2.1)
      rake (>= 10.0)

PATH
  remote: .
  specs:
    openvox (8.24.1)
      base64 (>= 0.1, < 0.4)
      benchmark (>= 0.3, < 0.6)
      concurrent-ruby (~> 1.0)
      deep_merge (~> 1.0)
      fast_gettext (>= 2.1, < 5)
      getoptlong (~> 0.2.0)
      locale (~> 2.1)
      multi_json (~> 1.13)
      openfact (~> 5.0)
      ostruct (~> 0.6.0)
      puppet-resource_api (~> 2.0)
      racc (~> 1.5)
      scanf (~> 1.0)
      semantic_puppet (~> 1.0)

GEM
  remote: https://rubygems.org/
  specs:
    CFPropertyList (3.0.8)
    activesupport (8.1.1)
      base64
      bigdecimal
      concurrent-ruby (~> 1.0, >= 1.3.1)
      connection_pool (>= 2.2.5)
      drb
      i18n (>= 1.6, < 2)
      json
      logger (>= 1.4.2)
      minitest (>= 5.1)
      securerandom (>= 0.3)
      tzinfo (~> 2.0, >= 2.0.5)
      uri (>= 0.13.1)
    addressable (2.8.8)
      public_suffix (>= 2.0.2, < 8.0)
    artifactory (3.0.17)
    ast (2.4.3)
    async (2.35.0)
      console (~> 1.29)
      fiber-annotation
      io-event (~> 1.11)
      metrics (~> 0.12)
      traces (~> 0.18)
    async-http (0.92.1)
      async (>= 2.10.2)
      async-pool (~> 0.11)
      io-endpoint (~> 0.14)
      io-stream (~> 0.6)
      metrics (~> 0.12)
      protocol-http (~> 0.49)
      protocol-http1 (~> 0.30)
      protocol-http2 (~> 0.22)
      protocol-url (~> 0.2)
      traces (~> 0.10)
    async-http-faraday (0.22.1)
      async-http (~> 0.42)
      faraday
    async-pool (0.11.1)
      async (>= 2.0)
    base64 (0.3.0)
    benchmark (0.4.1)
    bigdecimal (3.3.1)
    build-uri (1.0.1)
    coderay (1.1.3)
    concurrent-ruby (1.3.5)
    connection_pool (3.0.2)
    console (1.34.2)
      fiber-annotation
      fiber-local (~> 1.1)
      json
    crack (1.0.1)
      bigdecimal
      rexml
    csv (3.3.5)
    date (3.5.0)
    declarative (0.0.20)
    deep_merge (1.2.2)
    diff-lcs (1.6.2)
    digest-crc (0.7.0)
      rake (>= 12.0.0, < 14.0.0)
    docopt (0.6.1)
    drb (2.2.3)
    erubi (1.13.1)
    faraday (2.14.0)
      faraday-net_http (>= 2.0, < 3.5)
      json
      logger
    faraday-follow_redirects (0.4.0)
      faraday (>= 1, < 3)
    faraday-http-cache (2.5.1)
      faraday (>= 0.8)
    faraday-net_http (3.4.2)
      net-http (~> 0.5)
    faraday-retry (2.3.2)
      faraday (~> 2.0)
    fast_gettext (2.4.0)
      prime
    ffi (1.16.3)
    fiber-annotation (0.2.0)
    fiber-local (1.1.0)
      fiber-storage
    fiber-storage (1.0.1)
    forwardable (1.3.3)
    getoptlong (0.2.1)
    gettext (3.5.1)
      erubi
      locale (>= 2.0.5)
      prime
      racc
      text (>= 1.3.0)
    gettext-setup (1.1.0)
      fast_gettext (~> 2.1)
      gettext (~> 3.4)
      locale
    git (4.0.6)
      activesupport (>= 5.0)
      addressable (~> 2.8)
      process_executer (~> 4.0)
      rchardet (~> 1.9)
    google-apis-core (1.0.2)
      addressable (~> 2.8, >= 2.8.7)
      faraday (~> 2.13)
      faraday-follow_redirects (~> 0.3)
      googleauth (~> 1.14)
      mini_mime (~> 1.1)
      representable (~> 3.0)
      retriable (~> 3.1)
    google-apis-iamcredentials_v1 (0.26.0)
      google-apis-core (>= 0.15.0, < 2.a)
    google-apis-storage_v1 (0.58.0)
      google-apis-core (>= 0.15.0, < 2.a)
    google-cloud-core (1.8.0)
      google-cloud-env (>= 1.0, < 3.a)
      google-cloud-errors (~> 1.0)
    google-cloud-env (2.3.1)
      base64 (~> 0.2)
      faraday (>= 1.0, < 3.a)
    google-cloud-errors (1.5.0)
    google-cloud-storage (1.57.1)
      addressable (~> 2.8)
      digest-crc (~> 0.4)
      google-apis-core (>= 0.18, < 2)
      google-apis-iamcredentials_v1 (~> 0.18)
      google-apis-storage_v1 (>= 0.42)
      google-cloud-core (~> 1.6)
      googleauth (~> 1.9)
      mini_mime (~> 1.0)
    google-logging-utils (0.2.0)
    googleauth (1.16.0)
      faraday (>= 1.0, < 3.a)
      google-cloud-env (~> 2.2)
      google-logging-utils (~> 0.1)
      jwt (>= 1.4, < 4.0)
      multi_json (~> 1.11)
      os (>= 0.9, < 2.0)
      signet (>= 0.16, < 2.a)
    hashdiff (1.2.1)
    hiera-eyaml (4.3.0)
      highline (>= 2.1, < 4)
      optimist (~> 3.1)
    highline (3.1.2)
      reline
    hocon (1.4.0)
    i18n (1.14.7)
      concurrent-ruby (~> 1.0)
    io-console (0.8.1)
    io-endpoint (0.16.0)
    io-event (1.14.2)
    io-stream (0.11.1)
    json (2.17.1)
    json-schema (5.2.2)
      addressable (~> 2.8)
      bigdecimal (~> 3.1)
    jwt (3.1.2)
      base64
    kramdown (2.5.1)
      rexml (>= 3.3.9)
    kramdown-parser-gfm (1.1.0)
      kramdown (~> 2.0)
    language_server-protocol (3.17.0.5)
    lint_roller (1.1.0)
    locale (2.1.4)
    lock_manager (0.1.5)
      redis (>= 3.2, < 4.0)
    logger (1.7.0)
    memory_profiler (1.1.0)
    method_source (1.1.0)
    metrics (0.15.0)
    mini_mime (1.1.5)
    minitar (1.1.0)
    minitest (5.26.2)
    msgpack (1.8.0)
    multi_json (1.18.0)
    mustache (1.1.1)
    net-http (0.8.0)
      uri (>= 0.11.1)
    nokogiri (1.18.10-aarch64-linux-gnu)
      racc (~> 1.4)
    nokogiri (1.18.10-aarch64-linux-musl)
      racc (~> 1.4)
    nokogiri (1.18.10-arm-linux-gnu)
      racc (~> 1.4)
    nokogiri (1.18.10-arm-linux-musl)
      racc (~> 1.4)
    nokogiri (1.18.10-arm64-darwin)
      racc (~> 1.4)
    nokogiri (1.18.10-x86_64-darwin)
      racc (~> 1.4)
    nokogiri (1.18.10-x86_64-linux-gnu)
      racc (~> 1.4)
    nokogiri (1.18.10-x86_64-linux-musl)
      racc (~> 1.4)
    octokit (4.25.1)
      faraday (>= 1, < 3)
      sawyer (~> 0.9)
    openfact (5.2.0)
      base64 (>= 0.1, < 0.4)
      hocon (~> 1.3)
      logger (~> 1.7)
      thor (>= 1.0.1, < 2)
    openssl (3.3.2)
    openvoxserver-ca (3.0.0)
      openfact (>= 5.0.0, < 6)
    optimist (3.2.1)
    os (1.1.4)
    ostruct (0.6.3)
    packaging (0.122.3)
      artifactory (~> 3)
      csv (>= 3.1.5)
      google-cloud-storage
      googleauth
      rake (>= 12.3)
      release-metrics
      retriable (~> 3.1, >= 3.1.2)
      rexml
    pandoc-ruby (2.1.10)
    parallel (1.27.0)
    parser (3.3.10.0)
      ast (~> 2.4.1)
      racc
    prime (0.1.4)
      forwardable
      singleton
    prism (1.6.0)
    process_executer (4.0.0)
      track_open_instances (~> 0.1)
    protocol-hpack (1.5.1)
    protocol-http (0.55.0)
    protocol-http1 (0.35.2)
      protocol-http (~> 0.22)
    protocol-http2 (0.23.0)
      protocol-hpack (~> 1.4)
      protocol-http (~> 0.47)
    protocol-url (0.4.0)
    pry (0.15.2)
      coderay (~> 1.1)
      method_source (~> 1.0)
    psych (5.2.6)
      date
      stringio
    public_suffix (7.0.0)
    puppet-resource_api (2.0.0)
      hocon (>= 1.0)
    puppet-strings (4.1.2)
      rgen (~> 0.9)
      yard (~> 0.9)
    racc (1.8.1)
    rainbow (3.1.1)
    rake (13.3.1)
    rchardet (1.10.0)
    rdoc (6.3.4.1)
    redis (3.3.5)
    regexp_parser (2.11.3)
    release-metrics (1.1.0)
      csv
      docopt
    reline (0.6.3)
      io-console (~> 0.5)
    representable (3.2.0)
      declarative (< 0.1.0)
      trailblazer-option (>= 0.1.1, < 0.2.0)
      uber (< 0.2.0)
    retriable (3.1.2)
    rexml (3.4.4)
    rgen (0.10.2)
    ronn-ng (0.10.1)
      kramdown (~> 2, >= 2.1)
      kramdown-parser-gfm (~> 1, >= 1.0.1)
      mustache (~> 1)
      nokogiri (~> 1, >= 1.14.3)
    rspec (3.13.2)
      rspec-core (~> 3.13.0)
      rspec-expectations (~> 3.13.0)
      rspec-mocks (~> 3.13.0)
    rspec-core (3.13.6)
      rspec-support (~> 3.13.0)
    rspec-expectations (3.13.5)
      diff-lcs (>= 1.2.0, < 2.0)
      rspec-support (~> 3.13.0)
    rspec-its (1.3.1)
      rspec-core (>= 3.0.0)
      rspec-expectations (>= 3.0.0)
    rspec-mocks (3.13.2)
      diff-lcs (>= 1.2.0, < 2.0)
      rspec-support (~> 3.13.0)
    rspec-support (3.13.6)
    rubocop (1.81.7)
      json (~> 2.3)
      language_server-protocol (~> 3.17.0.2)
      lint_roller (~> 1.1.0)
      parallel (~> 1.10)
      parser (>= 3.3.0.2)
      rainbow (>= 2.2.2, < 4.0)
      regexp_parser (>= 2.9.3, < 3.0)
      rubocop-ast (>= 1.47.1, < 2.0)
      ruby-progressbar (~> 1.7)
      unicode-display_width (>= 2.4.0, < 4.0)
    rubocop-ast (1.48.0)
      parser (>= 3.3.7.2)
      prism (~> 1.4)
    rubocop-i18n (3.2.3)
      lint_roller (~> 1.1)
      rubocop (>= 1.72.1)
    rubocop-performance (1.26.1)
      lint_roller (~> 1.1)
      rubocop (>= 1.75.0, < 2.0)
      rubocop-ast (>= 1.47.1, < 2.0)
    rubocop-rake (0.7.1)
      lint_roller (~> 1.1)
      rubocop (>= 1.72.1)
    rubocop-rspec (3.7.0)
      lint_roller (~> 1.1)
      rubocop (~> 1.72, >= 1.72.1)
    ruby-prof (1.7.2)
      base64
    ruby-progressbar (1.13.0)
    sawyer (0.9.3)
      addressable (>= 2.3.5)
      faraday (>= 0.17.3, < 3)
    scanf (1.0.0)
    securerandom (0.4.1)
    semantic_puppet (1.1.1)
    signet (0.21.0)
      addressable (~> 2.8)
      faraday (>= 0.17.5, < 3.a)
      jwt (>= 1.5, < 4.0)
      multi_json (~> 1.10)
    singleton (0.3.0)
    stringio (3.1.9)
    syslog (0.3.0)
      logger
    text (1.3.1)
    thor (1.4.0)
    traces (0.18.2)
    track_open_instances (0.1.15)
    trailblazer-option (0.1.2)
    tzinfo (2.0.6)
      concurrent-ruby (~> 1.0)
    uber (0.1.0)
    unicode-display_width (3.2.0)
      unicode-emoji (~> 4.1)
    unicode-emoji (4.1.0)
    uri (1.1.1)
    vcr (6.3.1)
      base64
    webmock (3.26.1)
      addressable (>= 2.8.0)
      crack (>= 0.3.2)
      hashdiff (>= 0.4.0, < 2.0.0)
    webrick (1.9.2)
    yard (0.9.38)

PLATFORMS
  aarch64-linux-gnu
  aarch64-linux-musl
  arm-linux-gnu
  arm-linux-musl
  arm64-darwin
  universal-darwin
  x86_64-darwin
  x86_64-linux-gnu
  x86_64-linux-musl

DEPENDENCIES
  CFPropertyList (>= 3.0.6, < 4)
  artifactory
  diff-lcs (~> 1.3)
  faraday-retry
  ffi (>= 1.15.5, < 2, != 1.16.2, != 1.16.1, != 1.16.0)
  gettext-setup (~> 1.0)
  github_changelog_generator!
  hiera-eyaml
  hocon (~> 1.0)
  json
  json-schema (>= 2, < 6)
  memory_profiler
  minitar (~> 1.0)
  msgpack (~> 1.2)
  octokit
  openfact (~> 5.0)
  openssl
  openvox!
  openvoxserver-ca (~> 3.0)
  packaging (~> 0.105)
  pandoc-ruby
  pry
  puppet-resource_api (~> 2.0)
  puppet-strings
  rake (~> 13.0)
  rdoc (~> 6.0, < 6.4.0)
  ronn-ng (~> 0.10.1)
  rspec (~> 3.1)
  rspec-expectations (~> 3.9, != 3.9.3)
  rspec-its (~> 1.1)
  rspec-mocks (< 3.13.3)
  rubocop (~> 1.81.6)
  rubocop-i18n (~> 3.0)
  rubocop-performance (~> 1.0)
  rubocop-rake (~> 0.6)
  rubocop-rspec (~> 3.0)
  ruby-prof (>= 0.16.0)
  semantic_puppet (~> 1.0)
  syslog (>= 0.1.1, < 1)
  vanagon!
  vcr (~> 6.1)
  webmock (~> 3.0)
  webrick (~> 1.7)
  yard

CHECKSUMS
  CFPropertyList (3.0.8) sha256=2c99d0d980536d3d7ab252f7bd59ac8be50fbdd1ff487c98c949bb66bb114261
  activesupport (8.1.1) sha256=5e92534e8d0c8b8b5e6b16789c69dbea65c1d7b752269f71a39422e9546cea67
  addressable (2.8.8) sha256=7c13b8f9536cf6364c03b9d417c19986019e28f7c00ac8132da4eb0fe393b057
  artifactory (3.0.17) sha256=3023d5c964c31674090d655a516f38ca75665c15084140c08b7f2841131af263
  ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
  async (2.35.0) sha256=0f792ce968023677669fb8608d0b16585332247181ed5417b4ff45900201e834
  async-http (0.92.1) sha256=66db56854cd9173b2f4e3b55f6ba48e15021e316425f0275e310a1d9ab173d59
  async-http-faraday (0.22.1) sha256=414c3197f32157bc0a7a187b1fb4c669097a8ef71832613eff2371c9808e9923
  async-pool (0.11.1) sha256=98e1583e199a75f7dc70f8e65fc8d0d3b28636c3f256595d43e206642ad8fbda
  base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
  benchmark (0.4.1) sha256=d4ef40037bba27f03b28013e219b950b82bace296549ec15a78016552f8d2cce
  bigdecimal (3.3.1) sha256=eaa01e228be54c4f9f53bf3cc34fe3d5e845c31963e7fcc5bedb05a4e7d52218
  build-uri (1.0.1) sha256=e0ad3add2ee215e69b6b454c59f54603cd42d4003593b1f87c7a9c4c33232e9a
  coderay (1.1.3) sha256=dc530018a4684512f8f38143cd2a096c9f02a1fc2459edcfe534787a7fc77d4b
  concurrent-ruby (1.3.5) sha256=813b3e37aca6df2a21a3b9f1d497f8cbab24a2b94cab325bffe65ee0f6cbebc6
  connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
  console (1.34.2) sha256=1c036abf606ccec83f9dc28f0c31710fe5936ffe7ba5d235ae2865590a482d58
  crack (1.0.1) sha256=ff4a10390cd31d66440b7524eb1841874db86201d5b70032028553130b6d4c7e
  csv (3.3.5) sha256=6e5134ac3383ef728b7f02725d9872934f523cb40b961479f69cf3afa6c8e73f
  date (3.5.0) sha256=5e74fd6c04b0e65d97ad4f3bb5cb2d8efb37f386cc848f46310b4593ffc46ee5
  declarative (0.0.20) sha256=8021dd6cb17ab2b61233c56903d3f5a259c5cf43c80ff332d447d395b17d9ff9
  deep_merge (1.2.2) sha256=83ced3a3d7f95f67de958d2ce41b1874e83c8d94fe2ddbff50c8b4b82323563a
  diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
  digest-crc (0.7.0) sha256=64adc23a26a241044cbe6732477ca1b3c281d79e2240bcff275a37a5a0d78c07
  docopt (0.6.1) sha256=73f837ed376d015971712c17f7aafa021998b964b77d52997dcaff79d6727467
  drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
  erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
  faraday (2.14.0) sha256=8699cfe5d97e55268f2596f9a9d5a43736808a943714e3d9a53e6110593941cd
  faraday-follow_redirects (0.4.0) sha256=d3fa1118ab1350e24035a272b4cff64948643bb7182846db89acaf87abadd5d9
  faraday-http-cache (2.5.1) sha256=cbfc129a85e1ad8580130189832cf59e7e117d94fe277547d61fc531f7689483
  faraday-net_http (3.4.2) sha256=f147758260d3526939bf57ecf911682f94926a3666502e24c69992765875906c
  faraday-retry (2.3.2) sha256=2402d2029032ebd238a2046221e67f6ef0da78c5a8ce8cd4f8b9c62e4d6451d1
  fast_gettext (2.4.0) sha256=fd26c4c406aa10be34f0fd2847ce3ffdc1e9d9798de87538594757bbb9175fbf
  ffi (1.16.3) sha256=6d3242ff10c87271b0675c58d68d3f10148fabc2ad6da52a18123f06078871fb
  fiber-annotation (0.2.0) sha256=7abfadf1d119f508867d4103bf231c0354d019cc39a5738945dec2edadaf6c03
  fiber-local (1.1.0) sha256=c885f94f210fb9b05737de65d511136ea602e00c5105953748aa0f8793489f06
  fiber-storage (1.0.1) sha256=f48e5b6d8b0be96dac486332b55cee82240057065dc761c1ea692b2e719240e1
  forwardable (1.3.3) sha256=f17df4bd6afa6f46a003217023fe5716ef88ce261f5c4cf0edbdeed6470cafac
  getoptlong (0.2.1) sha256=fd23f07397b994bf9310d4531cfdb4332629a9b8e8c9c457c32b7edf5bf21ba5
  gettext (3.5.1) sha256=03ec7f71ea7e2cf1fdcd5e08682e98b81601922fdbee890b7bc6f63b0e1a512a
  gettext-setup (1.1.0) sha256=2ad4fa99575d869f18056941d98dc9cb2a656abc7b991f360fbd3e32d28fd4ec
  git (4.0.6) sha256=73e19fd15e014be53410f0a2b6a746ff3634e4bda830e2507c47a617c7163ef4
  github_changelog_generator (1.16.4)
  google-apis-core (1.0.2) sha256=ba4579aaadc902d6cc7bc8db88f566ab00f5e31ea87ab41e9f9a032c470f2629
  google-apis-iamcredentials_v1 (0.26.0) sha256=3ff70a10a1d6cddf2554e95b7c5df2c26afdeaeb64100048a355194da19e48a3
  google-apis-storage_v1 (0.58.0) sha256=52f3151c47ae73278cdab043c7871b63e208c5946a1294901e1e5c32bf610467
  google-cloud-core (1.8.0) sha256=e572edcbf189cfcab16590628a516cec3f4f63454b730e59f0b36575120281cf
  google-cloud-env (2.3.1) sha256=0faac01eb27be78c2591d64433663b1a114f8f7af55a4f819755426cac9178e7
  google-cloud-errors (1.5.0) sha256=b56be28b8c10628125214dde571b925cfcebdbc58619e598250c37a2114f7b4b
  google-cloud-storage (1.57.1) sha256=ceb8903d83aa90e89ce466d4c5760b64f5c894c51a2c5d110c1cc52c41775a22
  google-logging-utils (0.2.0) sha256=675462b4ea5affa825a3442694ca2d75d0069455a1d0956127207498fca3df7b
  googleauth (1.16.0) sha256=1e7b5c2ee7edc6a0f5a4a4312c579b3822dc0be2679d6d09ca19d8c7ca5bd5f1
  hashdiff (1.2.1) sha256=9c079dbc513dfc8833ab59c0c2d8f230fa28499cc5efb4b8dd276cf931457cd1
  hiera-eyaml (4.3.0) sha256=19eba2ea9d70b2d56de064df9e3242860d8070d47ff9c9a6348b7fe94708ab0a
  highline (3.1.2) sha256=67cbd34d19f6ef11a7ee1d82ffab5d36dfd5b3be861f450fc1716c7125f4bb4a
  hocon (1.4.0) sha256=e71023ed7c56ae780ec34c0ce7789a233bcead08c045d50bc7b3af40f5afcd80
  i18n (1.14.7) sha256=ceba573f8138ff2c0915427f1fc5bdf4aa3ab8ae88c8ce255eb3ecf0a11a5d0f
  io-console (0.8.1) sha256=1e15440a6b2f67b6ea496df7c474ed62c860ad11237f29b3bd187f054b925fcb
  io-endpoint (0.16.0) sha256=b5517d9d2cde28e32ef0b0e13d4422d172a093760f50aad244d50282e990a114
  io-event (1.14.2) sha256=b0a069190eafe86005c22f7464f744971b5bd82f153740d34e6ab49548d4f613
  io-stream (0.11.1) sha256=fa5f551fcff99581c1757b9d1cee2c37b124f07d2ca4f40b756a05ab9bd21b87
  json (2.17.1) sha256=e0e4824541336a44915436f53e7ea74c687314fb8f88080fa1456f6a34ead92e
  json-schema (5.2.2) sha256=60beae0ed79ca9c552854c9ebfd44f50f77bd0c3144526d46afec384509940d5
  jwt (3.1.2) sha256=af6991f19a6bb4060d618d9add7a66f0eeb005ac0bc017cd01f63b42e122d535
  kramdown (2.5.1) sha256=87bbb6abd9d3cebe4fc1f33e367c392b4500e6f8fa19dd61c0972cf4afe7368c
  kramdown-parser-gfm (1.1.0) sha256=fb39745516427d2988543bf01fc4cf0ab1149476382393e0e9c48592f6581729
  language_server-protocol (3.17.0.5) sha256=fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc
  lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
  locale (2.1.4) sha256=522f9973ef3eee64aac9bca06d21db2fba675fa3d2cf61d21f42d1ca18a9f780
  lock_manager (0.1.5) sha256=8cc1d82c58ed915e4abb9c248b913a320a7093473069e57db33810e56103ec90
  logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
  memory_profiler (1.1.0) sha256=79a17df7980a140c83c469785905409d3027ca614c42c086089d128b805aa8f8
  method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5
  metrics (0.15.0) sha256=61ded5bac95118e995b1bc9ed4a5f19bc9814928a312a85b200abbdac9039072
  mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef
  minitar (1.1.0) sha256=38db0cfb6f3801017946cdcd8dc53f2cf3fd41ff752892312bf9a1639c9ea23e
  minitest (5.26.2) sha256=f021118a6185b9ba9f5af71f2ba103ad770c75afde9f2ab8da512677c550cde3
  msgpack (1.8.0) sha256=e64ce0212000d016809f5048b48eb3a65ffb169db22238fb4b72472fecb2d732
  multi_json (1.18.0) sha256=23f70cf73e2895a33e6d10f0ec955b28ef5627ca4bbad0f292e7d16f4675596f
  mustache (1.1.1) sha256=90891fdd50b53919ca334c8c1031eada1215e78d226d5795e523d6123a2717d0
  net-http (0.8.0) sha256=df42c47ce9f9e95ad32a317c97c12f945bc1af365288837ea4ff259876ecb46d
  nokogiri (1.18.10-aarch64-linux-gnu) sha256=7fb87235d729c74a2be635376d82b1d459230cc17c50300f8e4fcaabc6195344
  nokogiri (1.18.10-aarch64-linux-musl) sha256=7e74e58314297cc8a8f1b533f7212d1999dbe2639a9ee6d97b483ea2acc18944
  nokogiri (1.18.10-arm-linux-gnu) sha256=51f4f25ab5d5ba1012d6b16aad96b840a10b067b93f35af6a55a2c104a7ee322
  nokogiri (1.18.10-arm-linux-musl) sha256=1c6ea754e51cecc85c30ee8ab1e6aa4ce6b6e134d01717e9290e79374a9e00aa
  nokogiri (1.18.10-arm64-darwin) sha256=c2b0de30770f50b92c9323fa34a4e1cf5a0af322afcacd239cd66ee1c1b22c85
  nokogiri (1.18.10-x86_64-darwin) sha256=536e74bed6db2b5076769cab5e5f5af0cd1dccbbd75f1b3e1fa69d1f5c2d79e2
  nokogiri (1.18.10-x86_64-linux-gnu) sha256=ff5ba26ba2dbce5c04b9ea200777fd225061d7a3930548806f31db907e500f72
  nokogiri (1.18.10-x86_64-linux-musl) sha256=0651fccf8c2ebbc2475c8b1dfd7ccac3a0a6d09f8a41b72db8c21808cb483385
  octokit (4.25.1) sha256=c02092ee82dcdfe84db0e0ea630a70d32becc54245a4f0bacfd21c010df09b96
  openfact (5.2.0) sha256=b044fdbd45b4bb59aab7bf2d2f98065e6a65ecc3cf4cdd91ee32c79c0556d172
  openssl (3.3.2) sha256=7f4e01215dc9c4be1fca71d692406be3e6340b39c1f71a47fea9c497decd0f6c
  openvox (8.24.1)
  openvoxserver-ca (3.0.0) sha256=5caf6c4e3cf3d8c166f5cb48f84f5a5e88c5fd6617808d0a984b6a5d7b75fe04
  optimist (3.2.1) sha256=8cf8a0fd69f3aa24ab48885d3a666717c27bc3d9edd6e976e18b9d771e72e34e
  os (1.1.4) sha256=57816d6a334e7bd6aed048f4b0308226c5fb027433b67d90a9ab435f35108d3f
  ostruct (0.6.3) sha256=95a2ed4a4bd1d190784e666b47b2d3f078e4a9efda2fccf18f84ddc6538ed912
  packaging (0.122.3) sha256=f9e8258c30ca15a66ca32434dfcd641efb4cef4c1cbda5dac630350aa1e9b1a1
  pandoc-ruby (2.1.10) sha256=37653d6b5e71657fb25b3cb230e6eebbfb8c925c7f1fcf69dfb6b929d12b74b2
  parallel (1.27.0) sha256=4ac151e1806b755fb4e2dc2332cbf0e54f2e24ba821ff2d3dcf86bf6dc4ae130
  parser (3.3.10.0) sha256=ce3587fa5cc55a88c4ba5b2b37621b3329aadf5728f9eafa36bbd121462aabd6
  prime (0.1.4) sha256=4d755ebf7c2994a6f3a3fee0d072063be3fff2d4042ebff6cd5eebd4747a225e
  prism (1.6.0) sha256=bfc0281a81718c4872346bc858dc84abd3a60cae78336c65ad35c8fbff641c6b
  process_executer (4.0.0) sha256=8d96cf489566251d7ae050bd7ec2a492368bccc3766f5ac2daf80177bc513f8e
  protocol-hpack (1.5.1) sha256=6feca238b8078da1cd295677d6f306c6001af92d75fe0643d33e6956cbc3ad91
  protocol-http (0.55.0) sha256=ab3f97386e0d6311f60e437c853c58e7b0ba4e1b16aff351f5ea2f75520126cb
  protocol-http1 (0.35.2) sha256=b47aded38cd08dc37e9ed9ac7a54dc7bfaffa6d088dfaf3b178e2ef42fc614e6
  protocol-http2 (0.23.0) sha256=bb7a782bb24a386cf475bc8cd6190bd28b392fcef943e06c8d8fce06cc3b2ba8
  protocol-url (0.4.0) sha256=64d4c03b6b51ad815ac6fdaf77a1d91e5baf9220d26becb846c5459dacdea9e1
  pry (0.15.2) sha256=12d54b8640d3fa29c9211dd4ffb08f3fd8bf7a4fd9b5a73ce5b59c8709385b6b
  psych (5.2.6) sha256=814328aa5dcb6d604d32126a20bc1cbcf05521a5b49dbb1a8b30a07e580f316e
  public_suffix (7.0.0) sha256=f7090b5beb0e56f9f10d79eed4d5fbe551b3b425da65877e075dad47a6a1b095
  puppet-resource_api (2.0.0) sha256=4649fcb5d5e5f8cbda0887f706b95be5b52a089bcf98ce8ebf0496c3266fd9c4
  puppet-strings (4.1.2) sha256=b7eba361cfa407757630b57d65c73f1b4c94aff399463b899ed5bbd97b119a7d
  racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
  rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
  rake (13.3.1) sha256=8c9e89d09f66a26a01264e7e3480ec0607f0c497a861ef16063604b1b08eb19c
  rchardet (1.10.0) sha256=d5ea2ed61a720a220f1914778208e718a0c7ed2a484b6d357ba695aa7001390f
  rdoc (6.3.4.1) sha256=0e1c30d007ed66b25698dea49bbdb5b50e6b25a04a851023d9b9d0317c0dc083
  redis (3.3.5) sha256=3b47205af551f81623da98160550270c3aa365e97b46e3a3de8581f8502f8144
  regexp_parser (2.11.3) sha256=ca13f381a173b7a93450e53459075c9b76a10433caadcb2f1180f2c741fc55a4
  release-metrics (1.1.0) sha256=1feda514f3d9795c8333ece9daa91a39c1cc7b744b8a7f1bc519e97c168c8085
  reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835
  representable (3.2.0) sha256=cc29bf7eebc31653586849371a43ffe36c60b54b0a6365b5f7d95ec34d1ebace
  retriable (3.1.2) sha256=0a5a5d0ca4ba61a76fb31a17ab8f7f80281beb040c329d34dfc137a1398688e0
  rexml (3.4.4) sha256=19e0a2c3425dfbf2d4fc1189747bdb2f849b6c5e74180401b15734bc97b5d142
  rgen (0.10.2) sha256=d978f84887a0b4815ff3a0e0c4d43a15cdeeac9fd4da02db8ec3ecd0f222f371
  ronn-ng (0.10.1) sha256=4eeb0185c0fbfa889efed923b5b50e949cd869e7d82ac74138acd0c9c7165ec0
  rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
  rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
  rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
  rspec-its (1.3.1) sha256=c404314f933ffd5ef6e2cfa87167e272477a7007467db5ec59c96ad1679c51f6
  rspec-mocks (3.13.2) sha256=2327335def0e1665325a9b617e3af9ae20272741d80ac550336309a7c59abdef
  rspec-support (3.13.6) sha256=2e8de3702427eab064c9352fe74488cc12a1bfae887ad8b91cba480ec9f8afb2
  rubocop (1.81.7) sha256=6fb5cc298c731691e2a414fe0041a13eb1beed7bab23aec131da1bcc527af094
  rubocop-ast (1.48.0) sha256=22df9bbf3f7a6eccde0fad54e68547ae1e2a704bf8719e7c83813a99c05d2e76
  rubocop-i18n (3.2.3) sha256=9620228f372892c0e6c0a3a73d7caed964a932404bee567e5ff4b8292e2a2bda
  rubocop-performance (1.26.1) sha256=cd19b936ff196df85829d264b522fd4f98b6c89ad271fa52744a8c11b8f71834
  rubocop-rake (0.7.1) sha256=3797f2b6810c3e9df7376c26d5f44f3475eda59eb1adc38e6f62ecf027cbae4d
  rubocop-rspec (3.7.0) sha256=b7b214da112034db9c6d00f2d811a354847e870f7b6ed2482b29649c3d42058f
  ruby-prof (1.7.2) sha256=270424fcac37e611f2d15a55226c4628e234f8434e1d7c25ca8a2155b9fc4340
  ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
  sawyer (0.9.3) sha256=0d0f19298408047037638639fe62f4794483fb04320269169bd41af2bdcf5e41
  scanf (1.0.0) sha256=533db7f7e5acafea1a145d6c5329cef667a58fbcb7d64379a808ff1199ee1b00
  securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
  semantic_puppet (1.1.1) sha256=15ff5b48d7f856549eb66b927a8894d3668b211970c9d7dc07dd4db57f5c7a96
  signet (0.21.0) sha256=d617e9fbf24928280d39dcfefba9a0372d1c38187ffffd0a9283957a10a8cd5b
  singleton (0.3.0) sha256=83ea1bca5f4aa34d00305ab842a7862ea5a8a11c73d362cb52379d94e9615778
  stringio (3.1.9) sha256=c111af13d3a73eab96a3bc2655ecf93788d13d28cb8e25c1dcbff89ace885121
  syslog (0.3.0) sha256=4dfe6e7bd5adb6383706bb4ad5a05da1f3a09917a507e8f913c73287085c7408
  text (1.3.1) sha256=2fbbbc82c1ce79c4195b13018a87cbb00d762bda39241bb3cdc32792759dd3f4
  thor (1.4.0) sha256=8763e822ccb0f1d7bee88cde131b19a65606657b847cc7b7b4b82e772bcd8a3d
  traces (0.18.2) sha256=80f1649cb4daace1d7174b81f3b3b7427af0b93047759ba349960cb8f315e214
  track_open_instances (0.1.15) sha256=7f0e48821e6b4c881daaa40fb1583e308937c22a9c84883c150b399c3b5c3029
  trailblazer-option (0.1.2) sha256=20e4f12ea4e1f718c8007e7944ca21a329eee4eed9e0fa5dde6e8ad8ac4344a3
  tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
  uber (0.1.0) sha256=5beeb407ff807b5db994f82fa9ee07cfceaa561dad8af20be880bc67eba935dc
  unicode-display_width (3.2.0) sha256=0cdd96b5681a5949cdbc2c55e7b420facae74c4aaf9a9815eee1087cb1853c42
  unicode-emoji (4.1.0) sha256=4997d2d5df1ed4252f4830a9b6e86f932e2013fbff2182a9ce9ccabda4f325a5
  uri (1.1.1) sha256=379fa58d27ffb1387eaada68c749d1426738bd0f654d812fcc07e7568f5c57c6
  vanagon (1.0.0)
  vcr (6.3.1) sha256=37b56e157e720446a3f4d2d39919cabef8cb7b6c45936acffd2ef8229fec03ed
  webmock (3.26.1) sha256=4f696fb57c90a827c20aadb2d4f9058bbff10f7f043bd0d4c3f58791143b1cd7
  webrick (1.9.2) sha256=beb4a15fc474defed24a3bda4ffd88a490d517c9e4e6118c3edce59e45864131
  yard (0.9.38) sha256=721fb82afb10532aa49860655f6cc2eaa7130889df291b052e1e6b268283010f

BUNDLED WITH
  4.0.1

Gemspecs

openvox.gemspec

# When installed, this gemspec ends up the specifications dir and we should look for
# the library at the installed path because Puppet ends up loading it when invoked.
# When we are building the gem from source, we instead look relative to where this gemspec
# file lives. This is a little jank, but prevents us from having to update the version in
# two different places.
installed_path = "#{__dir__}/../../../vendor_ruby/puppet/version"
version_path = File.exist?("#{installed_path}.rb") ? installed_path : 'lib/puppet/version'
require_relative "#{version_path}"

Gem::Specification.new do |spec|
  spec.name = "openvox"
  spec.version = Puppet.version
  spec.licenses = ['Apache-2.0']

  spec.required_rubygems_version = Gem::Requirement.new("> 1.3.1")
  spec.required_ruby_version = Gem::Requirement.new(">= 3.1.0")
  spec.authors = ["OpenVox Project"]
  spec.date = "2012-08-17"
  spec.description = <<~EOF
    OpenVox is a community implementation of Puppet, an automated administrative engine for your Linux, Unix, and Windows systems, performs administrative tasks
    (such as adding users, installing packages, and updating server configurations) based on a centralized specification.
  EOF
  spec.email = "[email protected]"
  spec.executables = ["puppet"]
  spec.files = Dir['[A-Z]*'] + Dir['install.rb'] + Dir['bin/*'] + Dir['lib/**/*'] + Dir['conf/*'] + Dir['man/**/*'] + Dir['tasks/*'] + Dir['locales/**/*'] + Dir['ext/**/*'] + Dir['examples/**/*']
  spec.license = "Apache-2.0"
  spec.homepage = "https://github.com/OpenVoxProject/openvox"
  spec.rdoc_options = ["--title", "OpenVox - Configuration Management", "--main", "README", "--line-numbers"]
  spec.require_paths = ["lib"]
  spec.summary = "OpenVox, a community implementation of Puppet -- an automated configuration management tool"
  spec.specification_version = 4
  spec.add_runtime_dependency('base64', '>= 0.1', '< 0.4')
  spec.add_runtime_dependency('benchmark', '>= 0.3', '< 0.6')
  spec.add_runtime_dependency('concurrent-ruby', '~> 1.0')
  spec.add_runtime_dependency('deep_merge', '~> 1.0')
  spec.add_runtime_dependency('fast_gettext', '>= 2.1', '< 5')
  spec.add_runtime_dependency('getoptlong', '~> 0.2.0')
  spec.add_runtime_dependency('locale', '~> 2.1')
  spec.add_runtime_dependency('multi_json', '~> 1.13')
  spec.add_runtime_dependency('openfact', '~> 5.0')
  spec.add_runtime_dependency('ostruct', '~> 0.6.0')
  spec.add_runtime_dependency('puppet-resource_api', '~> 2.0')
  spec.add_runtime_dependency('racc', '~> 1.5')
  spec.add_runtime_dependency('scanf', '~> 1.0')
  spec.add_runtime_dependency('semantic_puppet', '~> 1.0')

  platform = spec.platform.to_s
  if platform == 'universal-darwin'
    spec.add_runtime_dependency('CFPropertyList', ['>= 3.0.6', '< 5'])
  end

  if platform == 'x64-mingw32' || platform == 'x86-mingw32'
    # ffi 1.16.0 - 1.16.2 are broken on Windows
    spec.add_runtime_dependency('ffi', '>= 1.15.5', '< 2', '!= 1.16.0', '!= 1.16.1', '!= 1.16.2')
    spec.add_runtime_dependency('minitar', '~> 1.0')
  end
end

@bastelfreak
Copy link
Contributor

@eciii this repos required signed commits. Can you please sign your commit with a gpg or ssh key?

@eciii eciii force-pushed the include-missing-ec2-stub-request branch from 59de22e to eb21678 Compare December 12, 2025 10:58
@eciii
Copy link
Contributor Author

eciii commented Dec 12, 2025

@bastelfreak Took some time but I managed to do it...

@bastelfreak
Copy link
Contributor

@eciii can you please rebase against our latest main branch? That should fix the CI.

Several tests fail locally because Facter is leaking an EC2 request (see
puppetlabs/facter#2690). This commit adds the leaked
EC2 request as a stub request in the test suite.
auto-merge was automatically disabled December 16, 2025 09:27

Head branch was pushed to by a user without write access

@eciii eciii force-pushed the include-missing-ec2-stub-request branch from eb21678 to 17e53f2 Compare December 16, 2025 09:28
@eciii
Copy link
Contributor Author

eciii commented Dec 16, 2025

@bastelfreak sure, done

@bastelfreak bastelfreak merged commit 5bb5c0a into OpenVoxProject:main Dec 16, 2025
12 checks passed
@eciii eciii deleted the include-missing-ec2-stub-request branch December 16, 2025 09:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants