ManageIQ / kubeclient

A Ruby client for Kubernetes REST API
MIT License
415 stars 166 forks source link

documentation doesn't match current Ruby gem exposed version(s) 4.11.0 #633

Open notjames opened 3 months ago

notjames commented 3 months ago

Current documentation states use of Faraday as middleware is an option. However, according to the CHANGELOG, the faraday middleware is only available, seemingly, in versions > 4.11 and it seems there's a very old issue with v 5.x having performance issues. I'm finding that use of the Faraday framework would be very useful for me to use for token refresh management.

What's the status of getting 5.x into Ruby gems for GA use? When will that happen and when will the performance issues be addressed? Finally, the documentation in the README needs to be updated to qualify use of Faraday being only available in >~5.x.

Describe your environment, including

Environment

Bundler       2.3.7                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
  Platforms   ruby, x86_64-linux                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
Ruby          3.1.4p223 (2023-03-30 revision 957bb7cb81995f26c671afce0ee50a5c660e540e) [x86_64-linux]                                                                                                                                                                                                                                                                                                                                                                                                                                        
  Full Path   /home/myusername/.rbenv/versions/3.1.4/bin/ruby                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
  Config Dir  /home/myusername/.rbenv/versions/3.1.4/etc                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
RubyGems      3.3.26                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
  Gem Home    /home/myusername/.rbenv/versions/3.1.4/lib/ruby/gems/3.1.0                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
  Gem Path    /home/myusername/.gem/ruby/3.1.0:/home/myusername/.rbenv/versions/3.1.4/lib/ruby/gems/3.1.0                                                                                                                                                                                                                                                                                                                                                                                                                                    
  User Home   /home/myusername                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
  User Path   /home/myusername/.gem/ruby/3.1.0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
  Bin Dir     /home/myusername/.rbenv/versions/3.1.4/bin                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
Tools                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  Git         2.34.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
  RVM         not installed                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
  rbenv       rbenv 1.1.2                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
  chruby      not installed                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  

Bundler Build Metadata

Built At          2022-02-09                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
Git SHA           bafe43c593                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
Released Version  true                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

Gemfile

../../Gemfile

# frozen_string_literal: true                                                                            

source "https://rubygems.org"                                                                                                                                                                                     

# Specify your gem's dependencies in operator.gemspec                                                                                                                                                             
gemspec                                                                                                  

gem 'amazing_print', '~>1.4'                                                                             
gem 'bundler', '~> 2.3'                                                                                                                                                                                                                                               
gem 'celluloid', '~> 0.18'                                                                               
gem 'celluloid-io', '~> 0.17'                                                                                                                                                                                                                                         
gem 'chronic', '~> 0.10'                                                                                 
gem 'colorize', '~> 0.1'                                                                                 
gem 'concurrent-ruby', '~>1.1'                                                                           
gem 'excon', '~> 0.97'                                                                                   
gem 'faraday', '~> 2.9'                                                                                  
gem 'google-protobuf', '~> 3.21'                                                                         
gem 'kubeclient', '~>4.11'                                                                               
gem 'logging', '~>2.3'                                                                                   
gem 'log_formatter', '~> 0.8'                                                                            
gem 'multi_json', '~>1.15'                                                                               
gem 'prometheus-client', '~> 0.4'                                                                        
#gem 'metrics-collector', '~> 0.0'                                                                       
gem 'prometheus_exporter', '~> 2.0'                                                                      
gem 'pry', '~>0.14'                                                                                      
gem 'pry-byebug', '~>3.10'                                                                               
gem 'rack', '~> 3.0'                                                                                     
gem 'rack-handlers', '~> 0.7'                                                                            
gem 'rackup', '~> 0.2'                                                                                   
gem 'rake', '~> 13.0'                                                                                    
gem 'rspec', '~> 3.0'                                                                                    
gem 'ruby-kubernetes', '~>0.1'                                                                           
gem 'rufus-scheduler', '~>3.8'                                                                           
gem 'rubocop', group: 'development'                                                                      

gem "terminal-table", "~> 3.0"                                                                           
gem 'tzinfo-data', '~> 1.2023'                                                                           

gem "rake-compiler-dock", "~> 1.3"                                                                       

../../Gemfile.lock

PATH                                                                                                                               
  remote: .                                                                                                                        
  specs:                                                                                                                           
    operator (0.1.0)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
      addressable (~> 2.8)                                                                                                         
      amazing_print (~> 1.4)                                                                                                       
      celluloid (~> 0.18)                                                                                                          
      celluloid-io (~> 0.17)                                                                                                       
      chronic (~> 0.10)                                                                                                            
      concurrent-ruby (~> 1.1)                                                                                                     
      excon (~> 0.97)                                                                                                              
      google-protobuf (~> 3.21)                                                                                                    
      kubeclient (~> 4.9)                                                                                                          
      log_formatter (~> 0.8)                                                                                                       
      logging (~> 2.3)                                                                                                             
      multi_json (~> 1.15)                                                                                                         
      prometheus-client (~> 0.4)                                                                                                   
      prometheus_exporter (~> 2.0)                                                                                                 
      pry (~> 0.14)                                                                                                                
      rack (~> 3.0)                                                                                                                
      rack-handlers (~> 0.7)                                                                                                       
      rackup (~> 0.2)                                                                                                              
      rake (~> 13.0)                                                                                                               
      rspec (~> 3.0)                                                                                                               
      ruby-kubernetes (~> 0.1)                                                                                                     
      rufus-scheduler (~> 3.8)                                                                                                     
      test-unit-notify (~> 1.0)                                                                                                    

GEM                                                                                                                                
  remote: https://rubygems.org/                                                                                                    
  specs:                                                                                                                           
    addressable (2.8.1)                                                                                                            
      public_suffix (>= 2.0.2, < 6.0)                                                                                              
    amazing_print (1.4.0)                                                                                                          
    ast (2.4.2)                                                                                                                    
    base64 (0.2.0)                                                                                                                 
    byebug (11.1.3)                                                                                                                
    celluloid (0.18.0)                                                                                                             
      timers (~> 4)                                                                                                                
    celluloid-io (0.17.3)                                                                                                          
      celluloid (>= 0.17.2)                                                                                                        
      nio4r (>= 1.1)                                                                                                               
      timers (>= 4.1.1)                                                                                                            
    chronic (0.10.2)                                                                                                                                                                                                                                                  
    coderay (1.1.3)                                                                                                                
    colorize (0.8.1)                                                                                                               
    concurrent-ruby (1.2.2)                                                                                                        
    diff-lcs (1.5.0)                                                                                                               
    domain_name (0.6.20240107)                                                                                                     
    et-orbi (1.2.7)                                                                                                                
      tzinfo                                                                                                                       
    excon (0.99.0)                                                                                                                 
    faraday (2.9.0)                                                                                                                
      faraday-net_http (>= 2.0, < 3.2)                                                                                             
    faraday-net_http (3.1.0)                                                                                                                                                                                                                                          
      net-http                                                                                                                     
    ffi (1.16.3)                                                                                                                                                                                                                                                      
    ffi-compiler (1.3.2)                                                                                                           
      ffi (>= 1.15.5)                                                                                                              
      rake                                                                                                                         
    fugit (1.8.1)                                                                                                                  
      et-orbi (~> 1, >= 1.2.7)                                                                                                     
      raabro (~> 1.4)                                                                                                              
    google-protobuf (3.22.2-x86_64-linux)                                                                                          
    http (5.2.0)                                                                                                                   
      addressable (~> 2.8)                                                                                                         
      base64 (~> 0.1)                                                                                                              
      http-cookie (~> 1.0)                                                                                                         
      http-form_data (~> 2.2)                                                                                                      
      llhttp-ffi (~> 0.5.0)                                                                                                        
    http-accept (1.7.0)                                                                                                            
    http-cookie (1.0.5)                                                                                                            
      domain_name (~> 0.5)                                                                                                         
    http-form_data (2.3.0)                                                                                                         
    json (2.6.3)                                                                                                                   
    jsonpath (1.1.5)                                                                                                               
      multi_json                                                                                                                   
    kubeclient (4.11.0)                                                                                                            
      http (>= 3.0, < 6.0)                                                                                                         
      jsonpath (~> 1.0)                                                                                                            
      recursive-open-struct (~> 1.1, >= 1.1.1)                                                                                     
      rest-client (~> 2.0)                                                                                                         
    little-plugger (1.1.4)                                                                                                         
    llhttp-ffi (0.5.0)                                                                                                             
      ffi-compiler (~> 1.0)                                                                                                        
      rake (~> 13.0)                                                                                                               
    log_formatter (0.8.2)                                                                                                          
    logging (2.3.1)                                                                                                                
      little-plugger (~> 1.1)                                                                                                      
      multi_json (~> 1.14)                                                                                                         
    method_source (1.0.0)                                                                                                          
    mime-types (3.5.2)                                                                                                             
      mime-types-data (~> 3.2015)                                                                                                  
    mime-types-data (3.2024.0305)                                                                                                  
    multi_json (1.15.0)                                                                                                            
    net-http (0.4.1)                                                                                                               
      uri                                                                                                                          
    netrc (0.11.0)                                                                                                                 
    nio4r (2.5.8)                                                                                                                  
    parallel (1.22.1)                                                                                                              
    parser (3.2.1.1)                                                                                                               
      ast (~> 2.4.1)                                                                                                               
    power_assert (2.0.3)                                                                                                           
    prometheus-client (0.10.0)                                                                                                     
    prometheus_exporter (2.0.8)                                                                                                    
      webrick                                                                                                                      
    pry (0.14.2)                                                                                                                   
      coderay (~> 1.1)                                                                                                             
      method_source (~> 1.0)                                                                                                       
    pry-byebug (3.10.1)                                                                                                            
      byebug (~> 11.0)                                                                                                             
      pry (>= 0.13, < 0.15)                                                                                                        
    public_suffix (5.0.1)                                                                                                          
    raabro (1.4.0)                                                                                                                 
    rack (3.0.7)                                                                                                                   
    rack-handlers (0.7.3)                                                                                                          
      rack                                                                                                                         
    rackup (0.2.3)                                                                                                                 
      rack (>= 3.0.0.beta1)                                                                                                        
      webrick                                                                                                                      
    rainbow (3.1.1)                                                                                                                
    rake (13.0.6)                                                                                                                  
    rake-compiler-dock (1.3.0)                                                                                                     
    recursive-open-struct (1.1.3)                                                                                                  
    regexp_parser (2.7.0)                                                                                                          
    rest-client (2.1.0)                                                                                                            
      http-accept (>= 1.7.0, < 2.0)                                                                                                
      http-cookie (>= 1.0.2, < 2.0)                                                                                                
      mime-types (>= 1.16, < 4.0)                                                                                                  
      netrc (~> 0.8)                                                                                                               
    rexml (3.2.5)                                                                                                                  
    rspec (3.12.0)                                                                                                                 
      rspec-core (~> 3.12.0)                                                                                                       
      rspec-expectations (~> 3.12.0)                                                                                               
      rspec-mocks (~> 3.12.0)                                                                                                      
    rspec-core (3.12.1)                                                                                                            
      rspec-support (~> 3.12.0)                                                                                                    
    rspec-expectations (3.12.2)                                                                                                    
      diff-lcs (>= 1.2.0, < 2.0)                                                                                                   
      rspec-support (~> 3.12.0)                                                                                                    
    rspec-mocks (3.12.4)                                                                                                           
      diff-lcs (>= 1.2.0, < 2.0)                                                                                                   
      rspec-support (~> 3.12.0)                                                                                                    
    rspec-support (3.12.0)                                                                                                         
    rubocop (1.48.1)                                                                                                               
      json (~> 2.3)                                                                                                                
      parallel (~> 1.10)                                                                                                           
      parser (>= 3.2.0.0)                                                                                                          
      rainbow (>= 2.2.2, < 4.0)                                                                                                    
      regexp_parser (>= 1.8, < 3.0)                                                                                                
      rexml (>= 3.2.5, < 4.0)                                                                                                      
      rubocop-ast (>= 1.26.0, < 2.0)                                                                                               
      ruby-progressbar (~> 1.7)                                                                                                    
      unicode-display_width (>= 2.4.0, < 3.0)                                                                                      
    rubocop-ast (1.28.0)                                                                                                           
      parser (>= 3.2.1.0)                                                                                                          
    ruby-kubernetes (0.1.0)                                                                                                        
    ruby-progressbar (1.13.0)                                                                                                      
    rufus-scheduler (3.8.2)                                                                                                        
      fugit (~> 1.1, >= 1.1.6)                                                                                                     
    terminal-table (3.0.2)                                                                                                         
      unicode-display_width (>= 1.1.1, < 3)                                                                                        
    test-unit (3.5.7)                                                                                                              
      power_assert                                                                                                                 
    test-unit-notify (1.0.4)                                                                                                       
      test-unit (>= 2.4.9)                                                                                                         
    timers (4.3.5)                                                                                                                 
    tzinfo (2.0.6)                                                                                                                 
      concurrent-ruby (~> 1.0)                                                                                                     
    tzinfo-data (1.2023.3)                                                                                                         
      tzinfo (>= 1.0.0)                                                                                                            
    unicode-display_width (2.4.2)                                                                                                  
    uri (0.13.0)                                                                                                                   
    webrick (1.8.1)                                                                                                                

PLATFORMS                                                                                                                          
  x86_64-linux                                                                                                                     

DEPENDENCIES                                                                                                                       
  amazing_print (~> 1.4)                                                                                                           
  bundler (~> 2.3)                                                                                                                 
  celluloid (~> 0.18)                                                                                                              
  celluloid-io (~> 0.17)                                                                                                           
  chronic (~> 0.10)                                                                                                                
  colorize (~> 0.1)                                                                                                                
  concurrent-ruby (~> 1.1)                                                                                                         
  excon (~> 0.97)                                                                                                                  
  faraday (~> 2.9)                                                                                                                 
  google-protobuf (~> 3.21)                                                                                                        
  kubeclient (~> 4.11)                                                                                                             
  log_formatter (~> 0.8)                                                                                                           
  logging (~> 2.3)                                                                                                                 
  multi_json (~> 1.15)                                                                                                             
  operator!                                                                                                                        
  prometheus-client (~> 0.4)                                                                                                       
  prometheus_exporter (~> 2.0)                                                                                                     
  pry (~> 0.14)                                                                                                                    
  pry-byebug (~> 3.10)                                                                                                             
  rack (~> 3.0)                                                                                                                    
  rack-handlers (~> 0.7)                                                                                                           
  rackup (~> 0.2)                                                                                                                  
  rake (~> 13.0)                                                                                                                   
  rake-compiler-dock (~> 1.3)                                                                                                      
  rspec (~> 3.0)                                                                                                                   
  rubocop                                                                                                                          
  ruby-kubernetes (~> 0.1)                                                                                                         
  rufus-scheduler (~> 3.8)                                                                                                         
  terminal-table (~> 3.0)                                                                                                          
  tzinfo-data (~> 1.2023)                                                                                                          

BUNDLED WITH                                                                                                                       
   2.3.7                                                                                                                           
✦ at 13:20:15 via  v3.1.4 ❯ ruby -v
ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [x86_64-linux]
snorlaX-sleeps commented 1 month ago

As a note for the maintainers (@notjames) there are lots of changes that were merged to the main branch but have never been released. Can we get some of these backported, specifically around AWS govcloud and regional support to a v4.x release please? https://github.com/ManageIQ/kubeclient/issues/527