amarillo 0.3.0 → 0.3.3
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/bin/amarillo +6 -2
- data/lib/amarillo.rb +22 -8
- metadata +5 -5
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: c4e3236346294475f1a163d18a26c6802d203f7fb9d9feb47c24f90ef117e2fb
         | 
| 4 | 
            +
              data.tar.gz: c02964b63238765fd4eacc43d61fb7c6aae1aa256374c447efa429d99d4816dd
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: e8f1b4dbb46b7c28c3ba1f800e6b625351887e46212bd5dc34ea345ab993b9b4ddb58d664fd4a6504104f101a94cdf3a5e782d5100429e0c124efeaa277c7da7
         | 
| 7 | 
            +
              data.tar.gz: 3905e62aae46c7238416fbd60ce58afca677b05b146a3391170dcd99610cc2d086eedfc1972c6355035db49a7193b16a87d8dbd87023ab659329c4b3fdd00012
         | 
    
        data/bin/amarillo
    CHANGED
    
    | @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            #!/usr/bin/env ruby
         | 
| 2 2 | 
             
            # 
         | 
| 3 | 
            -
            # Copyright  | 
| 3 | 
            +
            # Copyright 2022 iAchieved.it LLC
         | 
| 4 4 | 
             
            # 
         | 
| 5 5 | 
             
            # Permission is hereby granted, free of charge, to any person obtaining a copy
         | 
| 6 6 | 
             
            # of this software and associated documentation files (the "Software"), to deal
         | 
| @@ -55,6 +55,10 @@ OptionParser.new do |opts| | |
| 55 55 | 
             
                options[:name] = n
         | 
| 56 56 | 
             
              end
         | 
| 57 57 |  | 
| 58 | 
            +
              opts.on("-k", "--keytype KEYTYPE", "Valid key types:  ") do |k|
         | 
| 59 | 
            +
                options[:keytype] = k
         | 
| 60 | 
            +
              end
         | 
| 61 | 
            +
             | 
| 58 62 | 
             
              opts.on("-a", "--amarillo-home AMARILLO_HOME", "Home directory for configuration, keys, and certificates") do |o|
         | 
| 59 63 | 
             
                options[:amarillo_home] = a
         | 
| 60 64 | 
             
              end
         | 
| @@ -125,7 +129,7 @@ elsif options[:list] then | |
| 125 129 | 
             
            elsif options[:delete] then
         | 
| 126 130 | 
             
              y.deleteCertificate name
         | 
| 127 131 | 
             
            else
         | 
| 128 | 
            -
              y.requestCertificate zone, name, email,  | 
| 132 | 
            +
              y.requestCertificate zone, name, email, options[:keytype]
         | 
| 129 133 | 
             
            end
         | 
| 130 134 |  | 
| 131 135 |  | 
    
        data/lib/amarillo.rb
    CHANGED
    
    | @@ -139,6 +139,11 @@ class Amarillo | |
| 139 139 |  | 
| 140 140 | 
             
                @route53.change_resource_record_sets(options)
         | 
| 141 141 |  | 
| 142 | 
            +
                at_exit do 
         | 
| 143 | 
            +
                  self.cleanup label, record_type, challengeValue
         | 
| 144 | 
            +
                end
         | 
| 145 | 
            +
             | 
| 146 | 
            +
             | 
| 142 147 | 
             
                nameservers = @environment.get_zone_nameservers
         | 
| 143 148 |  | 
| 144 149 | 
             
                @logger.info "Waiting for DNS record to propagate"
         | 
| @@ -178,22 +183,33 @@ class Amarillo | |
| 178 183 | 
             
                if type == 'ec' then
         | 
| 179 184 | 
             
                  certPrivateKey = OpenSSL::PKey::EC.new(args).generate_key
         | 
| 180 185 | 
             
                elsif type == 'rsa' then
         | 
| 181 | 
            -
                   | 
| 186 | 
            +
                  if args.to_i > 0
         | 
| 187 | 
            +
                    certPrivateKey = OpenSSL::PKey::RSA.new(args.to_i)
         | 
| 188 | 
            +
                  else
         | 
| 189 | 
            +
                    @logger.error("Invalid RSA key size:  #{args}")
         | 
| 190 | 
            +
                  end 
         | 
| 182 191 | 
             
                end
         | 
| 183 192 |  | 
| 184 193 | 
             
                @logger.info "Requesting certificate..."  
         | 
| 185 194 | 
             
                csr = Acme::Client::CertificateRequest.new private_key: certPrivateKey, 
         | 
| 186 195 | 
             
                                                           names: [commonName]
         | 
| 187 196 |  | 
| 197 | 
            +
                while order.status != 'ready'
         | 
| 198 | 
            +
                  sleep(1)
         | 
| 199 | 
            +
                  @logger.info "Order status:  #{order.status}"
         | 
| 200 | 
            +
                  order.reload
         | 
| 201 | 
            +
                  raise if order.status == 'invalid'
         | 
| 202 | 
            +
                end
         | 
| 203 | 
            +
             | 
| 204 | 
            +
                @logger.info "Order status:  #{order.status}"
         | 
| 205 | 
            +
             | 
| 188 206 | 
             
                begin                                               
         | 
| 189 207 | 
             
                  order.finalize(csr: csr)
         | 
| 190 208 | 
             
                rescue
         | 
| 191 | 
            -
                  @logger.error(" | 
| 192 | 
            -
                   | 
| 209 | 
            +
                  @logger.error("Error finalizing certificate order")
         | 
| 210 | 
            +
                  raise 
         | 
| 193 211 | 
             
                end
         | 
| 194 212 |  | 
| 195 | 
            -
                sleep(1) while order.status == 'processing'
         | 
| 196 | 
            -
             | 
| 197 213 | 
             
                keyOutputPath =  "#{@keyPath}/#{commonName}.key"
         | 
| 198 214 | 
             
                certOutputPath = "#{@certificatePath}/#{commonName}.crt"
         | 
| 199 215 |  | 
| @@ -213,8 +229,6 @@ class Amarillo | |
| 213 229 | 
             
                certConfigFile = "#{@configsPath}/#{commonName}.yml"
         | 
| 214 230 | 
             
                File.write(certConfigFile, certConfig.to_yaml)
         | 
| 215 231 |  | 
| 216 | 
            -
                self.cleanup label, record_type, challengeValue
         | 
| 217 | 
            -
             | 
| 218 232 | 
             
              end
         | 
| 219 233 |  | 
| 220 234 | 
             
              def cleanup(label, record_type, challengeValue)
         | 
| @@ -307,4 +321,4 @@ class Amarillo | |
| 307 321 | 
             
            end
         | 
| 308 322 |  | 
| 309 323 |  | 
| 310 | 
            -
            require 'amarillo/environment'
         | 
| 324 | 
            +
            require 'amarillo/environment'
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: amarillo
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.3. | 
| 4 | 
            +
              version: 0.3.3
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - iAchieved.it LLC
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2022-07-24 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: acme-client
         | 
| @@ -30,14 +30,14 @@ dependencies: | |
| 30 30 | 
             
                requirements:
         | 
| 31 31 | 
             
                - - "~>"
         | 
| 32 32 | 
             
                  - !ruby/object:Gem::Version
         | 
| 33 | 
            -
                    version: ' | 
| 33 | 
            +
                    version: '3.0'
         | 
| 34 34 | 
             
              type: :runtime
         | 
| 35 35 | 
             
              prerelease: false
         | 
| 36 36 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 37 37 | 
             
                requirements:
         | 
| 38 38 | 
             
                - - "~>"
         | 
| 39 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| 40 | 
            -
                    version: ' | 
| 40 | 
            +
                    version: '3.0'
         | 
| 41 41 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 42 42 | 
             
              name: aws-sdk-core
         | 
| 43 43 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -109,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 109 109 | 
             
                - !ruby/object:Gem::Version
         | 
| 110 110 | 
             
                  version: '0'
         | 
| 111 111 | 
             
            requirements: []
         | 
| 112 | 
            -
            rubygems_version: 3. | 
| 112 | 
            +
            rubygems_version: 3.3.3
         | 
| 113 113 | 
             
            signing_key:
         | 
| 114 114 | 
             
            specification_version: 4
         | 
| 115 115 | 
             
            summary: Amarillo
         |