puppetserver-ca 2.7.0 → 2.7.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f3405b0e0be4f947fcec85824880f6b62fb2630d1993e130e1782960e58b5a80
4
- data.tar.gz: 92ae8e4b074c7d12609a79beb4c886a95f3299e44b2b4ff602f8b6acf7b002c2
3
+ metadata.gz: 9bf04146ef5288354710d74a982033fbfe8c9ce232bcfa74f883f7c5e2386a16
4
+ data.tar.gz: e8a638797ff74f49ee9dd698ba50a1c2bda7e24868f26b137e7c2dc603849e9f
5
5
  SHA512:
6
- metadata.gz: 82fce6d5d561700df09dc132723a600f2943ca86d19b7a2cbe56b1c25c4ebce170cb4a973ef6a07d0271057587cccbd2185c1a392dba9217b6dd6a8c617ce3df
7
- data.tar.gz: 130b8dc609b09c2ab7722459f62febcce52452ea419fa69f4ecb70d059b28428962574206a6bc5600f620f541c4205f86fe9e2eb7381a5bee6bb2e9fa24941b4
6
+ metadata.gz: 9bd94c95b63ea28ed2c1810e7046d91a510358ced3e808fdddb0b1c68b0aa62839dabe2fc2b45560eec09ab9d776bb9c4e0e831aa2bd87064854f0e12c03da69
7
+ data.tar.gz: e693a8af7a5feffcd980f21dd6f6b002ea3b20323d4fd6cc51ee6ba49b92babea332fa4651ce5934d9c29b58dcc78df67bffeca9fa7d25d435b02dbeb920a9ef
@@ -89,7 +89,17 @@ Options:
89
89
  end
90
90
 
91
91
  if (all || certnames.any?)
92
- found_certs = get_certs_or_csrs(puppet.settings)
92
+ if certnames.size == 1
93
+ result = get_cert_or_csr(puppet.settings, certnames.first)
94
+ if result.nil?
95
+ found_certs = [{}]
96
+ else
97
+ found_certs = [result]
98
+ end
99
+ else
100
+ found_certs = get_certs_or_csrs(puppet.settings)
101
+ end
102
+
93
103
  if found_certs.nil?
94
104
  # nil is different from no certs found
95
105
  @logger.err('Error while getting certificates')
@@ -232,6 +242,16 @@ Options:
232
242
  end
233
243
  end
234
244
 
245
+ def get_cert_or_csr(settings, subject)
246
+ result = Puppetserver::Ca::CertificateAuthority.new(@logger, settings).get_certificate_status(subject)
247
+
248
+ if result
249
+ return JSON.parse(result.body)
250
+ else
251
+ return nil
252
+ end
253
+ end
254
+
235
255
  def parse(args)
236
256
  results = {}
237
257
  parser = self.class.parser(results)
@@ -383,6 +383,24 @@ module Puppetserver
383
383
  result
384
384
  end
385
385
 
386
+ # Returns nil for errors, else the result of the GET request
387
+ def get_certificate_status(subject)
388
+ result = get('certificate_status', subject)
389
+
390
+ unless result.code == '200'
391
+ # missing certificates will be handled by the calling code
392
+ # for parity with the certificate_statuses endpoint.
393
+ unless result.code == '404'
394
+ @logger.err 'Error:'
395
+ @logger.err " code: #{result.code}"
396
+ @logger.err " body: #{result.body}" if result.body
397
+ end
398
+ return nil
399
+ end
400
+
401
+ result
402
+ end
403
+
386
404
  # Returns nil for errors, else the result of the GET request
387
405
  def get_certificate(certname)
388
406
  result = get('certificate', certname)
@@ -1,5 +1,5 @@
1
1
  module Puppetserver
2
2
  module Ca
3
- VERSION = "2.7.0"
3
+ VERSION = "2.7.1"
4
4
  end
5
5
  end
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.7.0
4
+ version: 2.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppet, Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-02-08 00:00:00.000000000 Z
11
+ date: 2025-07-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: facter
@@ -144,7 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
144
144
  - !ruby/object:Gem::Version
145
145
  version: '0'
146
146
  requirements: []
147
- rubygems_version: 3.4.20
147
+ rubygems_version: 3.4.22
148
148
  signing_key:
149
149
  specification_version: 4
150
150
  summary: A simple CLI tool for interacting with Puppet Server's Certificate Authority