puppetserver-ca 2.5.0 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/.travis.yml +2 -0
 - data/lib/puppetserver/ca/utils/http_client.rb +28 -16
 - data/lib/puppetserver/ca/version.rb +1 -1
 - metadata +3 -3
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 78b8703a01de06ec5c4a6202f8341662452f4d33d37c1390b558556ce817253d
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: eea0c603eee53c14a82de6b80f263014ca76261eb39fa2b679031ad6ecc69b1f
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 64ff93865e33b2dccd3f4308580278315d007b450611acdbb36631aabc9794d82b5f8973aa5872384f05146abe62dfa3290b5e3774f8816bafa4b70db7bf3fbc
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 734dc57fa4e9f8ce390a966502ea8104cb7640aec4564759ca39c377fdaeb06ed8992fbab88dfa3ef5a2c24921e6400223e4bee2c902d0f4f92f676537f779c5
         
     | 
    
        data/.travis.yml
    CHANGED
    
    
| 
         @@ -10,17 +10,12 @@ module Puppetserver 
     | 
|
| 
       10 
10 
     | 
    
         
             
                  # Utilities for doing HTTPS against the CA that wraps Net::HTTP constructs
         
     | 
| 
       11 
11 
     | 
    
         
             
                  class HttpClient
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
       13 
     | 
    
         
            -
                    DEFAULT_HEADERS = {
         
     | 
| 
       14 
     | 
    
         
            -
                      'User-Agent'   => 'PuppetserverCaCli',
         
     | 
| 
       15 
     | 
    
         
            -
                      'Content-Type' => 'application/json',
         
     | 
| 
       16 
     | 
    
         
            -
                      'Accept'       => 'application/json'
         
     | 
| 
       17 
     | 
    
         
            -
                    }
         
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
13 
     | 
    
         
             
                    attr_reader :store
         
     | 
| 
       20 
14 
     | 
    
         | 
| 
       21 
15 
     | 
    
         
             
                    # Not all connections require a client cert to be present.
         
     | 
| 
       22 
16 
     | 
    
         
             
                    # For example, when querying the status endpoint.
         
     | 
| 
       23 
17 
     | 
    
         
             
                    def initialize(logger, settings, with_client_cert: true)
         
     | 
| 
      
 18 
     | 
    
         
            +
                      @default_headers = make_headers(ENV['HOME'])
         
     | 
| 
       24 
19 
     | 
    
         
             
                      @logger = logger
         
     | 
| 
       25 
20 
     | 
    
         
             
                      @store = make_store(settings[:localcacert],
         
     | 
| 
       26 
21 
     | 
    
         
             
                                          settings[:certificate_revocation],
         
     | 
| 
         @@ -52,7 +47,7 @@ module Puppetserver 
     | 
|
| 
       52 
47 
     | 
    
         
             
                    # The Connection object should have HTTP verbs defined on it that take
         
     | 
| 
       53 
48 
     | 
    
         
             
                    # a body (and optional overrides). Returns whatever the block given returned.
         
     | 
| 
       54 
49 
     | 
    
         
             
                    def with_connection(url, &block)
         
     | 
| 
       55 
     | 
    
         
            -
                      request = ->(conn) { block.call(Connection.new(conn, url, @logger)) }
         
     | 
| 
      
 50 
     | 
    
         
            +
                      request = ->(conn) { block.call(Connection.new(conn, url, @logger, @default_headers)) }
         
     | 
| 
       56 
51 
     | 
    
         | 
| 
       57 
52 
     | 
    
         
             
                      begin
         
     | 
| 
       58 
53 
     | 
    
         
             
                        Net::HTTP.start(url.host, url.port,
         
     | 
| 
         @@ -68,7 +63,22 @@ module Puppetserver 
     | 
|
| 
       68 
63 
     | 
    
         | 
| 
       69 
64 
     | 
    
         
             
                    private
         
     | 
| 
       70 
65 
     | 
    
         | 
| 
       71 
     | 
    
         
            -
             
     | 
| 
      
 66 
     | 
    
         
            +
                    def make_headers(home)
         
     | 
| 
      
 67 
     | 
    
         
            +
                      headers = {
         
     | 
| 
      
 68 
     | 
    
         
            +
                        'User-Agent'   => 'PuppetserverCaCli',
         
     | 
| 
      
 69 
     | 
    
         
            +
                        'Content-Type' => 'application/json',
         
     | 
| 
      
 70 
     | 
    
         
            +
                        'Accept'       => 'application/json'
         
     | 
| 
      
 71 
     | 
    
         
            +
                      }
         
     | 
| 
      
 72 
     | 
    
         
            +
             
     | 
| 
      
 73 
     | 
    
         
            +
                      token_path = "#{home}/.puppetlabs/token"
         
     | 
| 
      
 74 
     | 
    
         
            +
                      if File.exist?(token_path)
         
     | 
| 
      
 75 
     | 
    
         
            +
                        headers['X-Authentication'] = File.read(token_path)
         
     | 
| 
      
 76 
     | 
    
         
            +
                      end
         
     | 
| 
      
 77 
     | 
    
         
            +
             
     | 
| 
      
 78 
     | 
    
         
            +
                      headers
         
     | 
| 
      
 79 
     | 
    
         
            +
                    end
         
     | 
| 
      
 80 
     | 
    
         
            +
             
     | 
| 
      
 81 
     | 
    
         
            +
                    def load_with_errors(path, setting, &block)
         
     | 
| 
       72 
82 
     | 
    
         
             
                      begin
         
     | 
| 
       73 
83 
     | 
    
         
             
                        content = File.read(path)
         
     | 
| 
       74 
84 
     | 
    
         
             
                        block.call(content)
         
     | 
| 
         @@ -81,21 +91,23 @@ module Puppetserver 
     | 
|
| 
       81 
91 
     | 
    
         
             
                                "Could not parse '#{setting}' at '#{path}'.\n" +
         
     | 
| 
       82 
92 
     | 
    
         
             
                                "  OpenSSL returned: #{e.message}")
         
     | 
| 
       83 
93 
     | 
    
         
             
                      end
         
     | 
| 
       84 
     | 
    
         
            -
             
     | 
| 
      
 94 
     | 
    
         
            +
                    end
         
     | 
| 
       85 
95 
     | 
    
         | 
| 
       86 
96 
     | 
    
         
             
                    # Helper class that wraps a Net::HTTP connection, a HttpClient::URL
         
     | 
| 
       87 
97 
     | 
    
         
             
                    # and defines methods named after HTTP verbs that are called on the
         
     | 
| 
       88 
98 
     | 
    
         
             
                    # saved connection, returning a Result.
         
     | 
| 
       89 
99 
     | 
    
         
             
                    class Connection
         
     | 
| 
       90 
     | 
    
         
            -
             
     | 
| 
      
 100 
     | 
    
         
            +
             
     | 
| 
      
 101 
     | 
    
         
            +
                      def initialize(net_http_connection, url_struct, logger, default_headers)
         
     | 
| 
       91 
102 
     | 
    
         
             
                        @conn = net_http_connection
         
     | 
| 
       92 
103 
     | 
    
         
             
                        @url = url_struct
         
     | 
| 
       93 
104 
     | 
    
         
             
                        @logger = logger
         
     | 
| 
      
 105 
     | 
    
         
            +
                        @default_headers = default_headers
         
     | 
| 
       94 
106 
     | 
    
         
             
                      end
         
     | 
| 
       95 
107 
     | 
    
         | 
| 
       96 
     | 
    
         
            -
                      def get(url_overide = nil,  
     | 
| 
      
 108 
     | 
    
         
            +
                      def get(url_overide = nil, header_overrides = {})
         
     | 
| 
       97 
109 
     | 
    
         
             
                        url = url_overide || @url
         
     | 
| 
       98 
     | 
    
         
            -
                        headers =  
     | 
| 
      
 110 
     | 
    
         
            +
                        headers = @default_headers.merge(header_overrides)
         
     | 
| 
       99 
111 
     | 
    
         | 
| 
       100 
112 
     | 
    
         
             
                        @logger.debug("Making a GET request at #{url.full_url}")
         
     | 
| 
       101 
113 
     | 
    
         | 
| 
         @@ -105,9 +117,9 @@ module Puppetserver 
     | 
|
| 
       105 
117 
     | 
    
         | 
| 
       106 
118 
     | 
    
         
             
                      end
         
     | 
| 
       107 
119 
     | 
    
         | 
| 
       108 
     | 
    
         
            -
                      def put(body, url_override = nil,  
     | 
| 
      
 120 
     | 
    
         
            +
                      def put(body, url_override = nil, header_overrides = {})
         
     | 
| 
       109 
121 
     | 
    
         
             
                        url = url_override || @url
         
     | 
| 
       110 
     | 
    
         
            -
                        headers =  
     | 
| 
      
 122 
     | 
    
         
            +
                        headers = @default_headers.merge(header_overrides)
         
     | 
| 
       111 
123 
     | 
    
         | 
| 
       112 
124 
     | 
    
         
             
                        @logger.debug("Making a PUT request at #{url.full_url}")
         
     | 
| 
       113 
125 
     | 
    
         | 
| 
         @@ -118,9 +130,9 @@ module Puppetserver 
     | 
|
| 
       118 
130 
     | 
    
         
             
                        Result.new(result.code, result.body)
         
     | 
| 
       119 
131 
     | 
    
         
             
                      end
         
     | 
| 
       120 
132 
     | 
    
         | 
| 
       121 
     | 
    
         
            -
                      def delete(url_override = nil,  
     | 
| 
      
 133 
     | 
    
         
            +
                      def delete(url_override = nil, header_overrides = {})
         
     | 
| 
       122 
134 
     | 
    
         
             
                        url = url_override || @url
         
     | 
| 
       123 
     | 
    
         
            -
                        headers =  
     | 
| 
      
 135 
     | 
    
         
            +
                        headers = @default_headers.merge(header_overrides)
         
     | 
| 
       124 
136 
     | 
    
         | 
| 
       125 
137 
     | 
    
         
             
                        @logger.debug("Making a DELETE request at #{url.full_url}")
         
     | 
| 
       126 
138 
     | 
    
         | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: puppetserver-ca
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 2. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 2.6.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Puppet, Inc.
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: exe
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2023- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2023-05-10 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: facter
         
     | 
| 
         @@ -143,7 +143,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       143 
143 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       144 
144 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       145 
145 
     | 
    
         
             
            requirements: []
         
     | 
| 
       146 
     | 
    
         
            -
            rubygems_version: 3. 
     | 
| 
      
 146 
     | 
    
         
            +
            rubygems_version: 3.4.12
         
     | 
| 
       147 
147 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       148 
148 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       149 
149 
     | 
    
         
             
            summary: A simple CLI tool for interacting with Puppet Server's Certificate Authority
         
     |