firespring_dev_commands 2.1.32.pre.alpha.0 → 2.1.32.pre.alpha.2
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:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 41b024ecb06f97d872f8a5b83ca9afb7af3fc92cae13e91674ff72812d920c68
         | 
| 4 | 
            +
              data.tar.gz: fbbc7b27d086c5734a3041c6a43033e7b654e9486aac0280655fd70da25e75c8
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 80e32906a5e5e5aa84fd2c985636327a7068fe7b75c8e94fbbe5a85bb78d0c0d239acef5f0dfa2b95299e201940898e2517b3337f966d059db15949eecaf61bc
         | 
| 7 | 
            +
              data.tar.gz: 5284e5c970113eff3d78d8c86e3ae8adb6f0d54c5fe0d82a1fff6225f9cdd0a50093af41af315a1b4234d950f0ec47c1d1910562afbca7e5d790246c4e12105d
         | 
| @@ -8,20 +8,23 @@ module Dev | |
| 8 8 |  | 
| 9 9 | 
             
                  def initialize
         | 
| 10 10 | 
             
                    @client = ::Aws::Route53::Client.new
         | 
| 11 | 
            -
                    @zones = []
         | 
| 12 11 | 
             
                  end
         | 
| 13 12 |  | 
| 14 | 
            -
                  def  | 
| 13 | 
            +
                  def hosted_zones(domains)
         | 
| 14 | 
            +
                    @zones = []
         | 
| 15 15 | 
             
                    if domains.empty?
         | 
| 16 | 
            -
                       | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 16 | 
            +
                      @zones = [].tap do |ary|
         | 
| 17 | 
            +
                        Dev::Aws.each_page(client, :list_hosted_zones, {max_items: 2}) do |response|
         | 
| 18 | 
            +
                          response.hosted_zones.each do |hosted_zone|
         | 
| 19 | 
            +
                            ary << hosted_zone.id unless hosted_zone.config.private_zone
         | 
| 20 | 
            +
                          end
         | 
| 21 | 
            +
                        end
         | 
| 19 22 | 
             
                      end
         | 
| 20 23 | 
             
                    else
         | 
| 21 24 | 
             
                      domains.each do |domain_name|
         | 
| 22 25 | 
             
                        zone = client.list_hosted_zones_by_name({dns_name: domain_name, max_items: 1})
         | 
| 23 | 
            -
                        target_name = zone.hosted_zones | 
| 24 | 
            -
                        @zones << zone.hosted_zones | 
| 26 | 
            +
                        target_name = zone.hosted_zones.first.name.chomp!('.')
         | 
| 27 | 
            +
                        @zones << zone.hosted_zones.first.id unless target_name != domain_name
         | 
| 25 28 | 
             
                      end
         | 
| 26 29 | 
             
                    end
         | 
| 27 30 | 
             
                    raise 'Hosted zone(s) not found.' if @zones.empty?
         | 
| @@ -32,7 +35,7 @@ module Dev | |
| 32 35 | 
             
                      hosted_zone_id: zone_id,
         | 
| 33 36 | 
             
                      max_results: '1'
         | 
| 34 37 | 
             
                    )
         | 
| 35 | 
            -
                    config.query_logging_configs | 
| 38 | 
            +
                    config.query_logging_configs.first.id unless config.query_logging_configs.empty? || config.query_logging_configs.first.hosted_zone_id == zone_id
         | 
| 36 39 | 
             
                  end
         | 
| 37 40 |  | 
| 38 41 | 
             
                  def activate_query_logging(log_group)
         | 
| @@ -121,55 +121,60 @@ module Dev | |
| 121 121 | 
             
                    end
         | 
| 122 122 | 
             
                  end
         | 
| 123 123 |  | 
| 124 | 
            -
                  # rubocop:disable Metrics/MethodLength
         | 
| 125 124 | 
             
                  # Create the rake task for the hosted zone method
         | 
| 126 | 
            -
                  def  | 
| 125 | 
            +
                  def create_dns_logging_activate_task!
         | 
| 127 126 | 
             
                    # Have to set a local variable to be accessible inside of the instance_eval block
         | 
| 128 127 | 
             
                    exclude = @exclude
         | 
| 129 128 |  | 
| 130 129 | 
             
                    DEV_COMMANDS_TOP_LEVEL.instance_eval do
         | 
| 131 130 | 
             
                      namespace :aws do
         | 
| 132 | 
            -
                        return if exclude.include?(: | 
| 131 | 
            +
                        return if exclude.include?(:dns_logging)
         | 
| 133 132 |  | 
| 134 133 | 
             
                        namespace :hosted_zone do
         | 
| 135 134 | 
             
                          namespace :dns_logging do
         | 
| 136 | 
            -
                            task :init do
         | 
| 137 | 
            -
                              @route53 = Dev::Aws::Route53.new
         | 
| 138 | 
            -
             | 
| 139 | 
            -
                              domains = ENV['DOMAINS'].to_s.strip.split(',')
         | 
| 140 | 
            -
                              domain = ENV['DOMAIN'].to_s.strip
         | 
| 141 | 
            -
                              domains << domain unless domain.empty?
         | 
| 142 | 
            -
             | 
| 143 | 
            -
                              # Set global zone id array
         | 
| 144 | 
            -
                              @route53.get_hosted_zones(domains)
         | 
| 145 | 
            -
                            end
         | 
| 146 | 
            -
             | 
| 147 135 | 
             
                            desc 'Activates query logging for all hosted zones by default.' \
         | 
| 148 136 | 
             
                                 'This command should be run from the account the hosted zone(s) reside.' \
         | 
| 149 | 
            -
                                 "\n\toptionally specify  | 
| 137 | 
            +
                                 "\n\toptionally specify HOSTED_ZONE_GROUP='arn:aws:logs:REGION:ACCOUNT_ID:' to specify the ARN of the target log group." \
         | 
| 150 138 | 
             
                                 "\n\toptionally specify DOMAINS='foo.com,foobar.com' to specify the hosted zones to activate." \
         | 
| 151 139 | 
             
                                 "\n\t\tComma delimited list."
         | 
| 152 | 
            -
                            task activate | 
| 140 | 
            +
                            task :activate do
         | 
| 141 | 
            +
                              route53 = Dev::Aws::Route53.new
         | 
| 142 | 
            +
                              route53.hosted_zones(ENV['DOMAINS'].to_s.strip.split(','))
         | 
| 153 143 | 
             
                              # Use user defined log group. Otherwise, go get the default.
         | 
| 154 144 | 
             
                              log_group = (ENV['HOSTED_ZONE_GROUP'] || Dev::Aws::Parameter.new.get_value('/Firespring/Internal/Route53/hosted-zone/log-group-arn'))
         | 
| 155 | 
            -
             | 
| 156 | 
            -
                              @route53.activate_query_logging(log_group)
         | 
| 145 | 
            +
                              route53.activate_query_logging(log_group)
         | 
| 157 146 | 
             
                            end
         | 
| 147 | 
            +
                          end
         | 
| 148 | 
            +
                        end
         | 
| 149 | 
            +
                      end
         | 
| 150 | 
            +
                    end
         | 
| 151 | 
            +
                  end
         | 
| 158 152 |  | 
| 153 | 
            +
                  # Create the rake task for the hosted zone method
         | 
| 154 | 
            +
                  def create_dns_logging_deactivate_task!
         | 
| 155 | 
            +
                    # Have to set a local variable to be accessible inside of the instance_eval block
         | 
| 156 | 
            +
                    exclude = @exclude
         | 
| 157 | 
            +
             | 
| 158 | 
            +
                    DEV_COMMANDS_TOP_LEVEL.instance_eval do
         | 
| 159 | 
            +
                      namespace :aws do
         | 
| 160 | 
            +
                        return if exclude.include?(:dns_logging_de)
         | 
| 161 | 
            +
             | 
| 162 | 
            +
                        namespace :hosted_zone do
         | 
| 163 | 
            +
                          namespace :dns_logging do
         | 
| 159 164 | 
             
                            desc 'Deactivates query logging for all hosted zones by default. ' \
         | 
| 160 165 | 
             
                                 'This command should be run from the account the hosted zone(s) reside.' \
         | 
| 161 | 
            -
                                 "\n\toptionally specify DOMAIN='foo.com' to specify the hosted zone to activate." \
         | 
| 162 166 | 
             
                                 "\n\toptionally specify DOMAINS='foo.com,foobar.com' to specify the hosted zones to activate." \
         | 
| 163 167 | 
             
                                 "\n\t\tComma delimited list."
         | 
| 164 | 
            -
                            task deactivate | 
| 165 | 
            -
                               | 
| 168 | 
            +
                            task :deactivate do
         | 
| 169 | 
            +
                              route53 = Dev::Aws::Route53.new
         | 
| 170 | 
            +
                              route53.hosted_zones(ENV['DOMAINS'].to_s.strip.split(','))
         | 
| 171 | 
            +
                              route53.deactivate_query_logging
         | 
| 166 172 | 
             
                            end
         | 
| 167 173 | 
             
                          end
         | 
| 168 174 | 
             
                        end
         | 
| 169 175 | 
             
                      end
         | 
| 170 176 | 
             
                    end
         | 
| 171 177 | 
             
                  end
         | 
| 172 | 
            -
                  # rubocop:enable Metrics/MethodLength
         | 
| 173 178 | 
             
                end
         | 
| 174 179 | 
             
              end
         | 
| 175 180 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: firespring_dev_commands
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 2.1.32.pre.alpha. | 
| 4 | 
            +
              version: 2.1.32.pre.alpha.2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Firespring
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2024-04- | 
| 11 | 
            +
            date: 2024-04-22 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: activesupport
         |