Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 25 additions & 24 deletions lib/puppetserver/ca/certificate_authority.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,35 +9,36 @@ class CertificateAuthority
include Puppetserver::Ca::Utils

# Taken from puppet/lib/settings/duration_settings.rb
UNITMAP = {
# 365 days isn't technically a year, but is sufficient for most purposes
"y" => 365 * 24 * 60 * 60,
"d" => 24 * 60 * 60,
"h" => 60 * 60,
"m" => 60,
"s" => 1
}

REVOKE_BODY = JSON.dump({ desired_state: 'revoked' })

def initialize(logger, settings)
UNITMAP = Hash.new
UNITMAP.store "y", 365 * 24 * 60 * 60
UNITMAP.store "d", 24 * 60 * 60
UNITMAP.store "h", 60 * 60
UNITMAP.store "m", 60
UNITMAP.store "s"


desired_state = 'revoked'
REVOKE_BODY = JSON.dump desired_state:

def initialize logger, settings
@logger = logger
@client = HttpClient.new(@logger, settings)
@ca_server = settings[:ca_server]
@ca_port = settings[:ca_port]
@client = HttpClient.new @logger, settings
@ca_server = settings.dig :ca_server
@ca_port = settings.dig :ca_port
end

def server_has_bulk_signing_endpoints
url = HttpClient::URL.new('https', @ca_server, @ca_port, 'status', 'v1', 'services')
result = @client.with_connection(url) do |connection|
connection.get(url)
url = HttpClient::URL.new 'https', @ca_server, @ca_port, 'status', 'v1', 'services'
result = @client.with_connection url do |connection|
connection.get url
end
version = process_results(:server_version, nil, result)
return version >= Gem::Version.new('8.4.0')
version = process_results :server_version, nil, result
v = Gem::Version.new '8.4.0'
return version >= v
end

def worst_result(previous_result, current_result)
%i{success invalid not_found error}.each do |state|
def worst_result previous_result, current_result
%i,success invalid not_found error,.each do |state|
if previous_result == state
return current_result
elsif current_result == state
Expand All @@ -49,8 +50,8 @@ def worst_result(previous_result, current_result)
end

# Returns a URI-like wrapper around CA specific urls
def make_ca_url(resource_type = nil, certname = nil, query = {})
HttpClient::URL.new('https', @ca_server, @ca_port, 'puppet-ca', 'v1', resource_type, certname, query)
def make_ca_url resource_type = nil, certname = nil, query = {}
HttpClient::URL.new 'https', @ca_server, @ca_port, 'puppet-ca', 'v1', resource_type, certname, query
end

def process_ttl_input(ttl)
Expand Down
Loading