config_o_mat 0.4.1 → 0.4.4
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/CHANGELOG.md +23 -0
- data/lib/config_o_mat/configurator/memory.rb +6 -2
- data/lib/config_o_mat/configurator/op/next_tick.rb +11 -1
- data/lib/config_o_mat/meta_configurator/memory.rb +6 -2
- data/lib/config_o_mat/shared/op/load_meta_config.rb +6 -2
- data/lib/config_o_mat/shared/types.rb +1 -1
- data/lib/config_o_mat/version.rb +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: f6e9883d10f0ab6349aa447ef2b199692e05c02aeb8f17a95b8c1a7825ffab9b
         | 
| 4 | 
            +
              data.tar.gz: 2486dea3da2ad9f2113e88d966efcff92616fd1baec02e1ac4dacf392df19710
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: edfc8bb95b506e73c191fba4f476e38cc18d3478a2917d159ee448e9392662c042b00991c1ad5f985b29c73f988a580c8fff1814155a71c3f120dc6dd0a117c2
         | 
| 7 | 
            +
              data.tar.gz: 80df6494340c67f9ea7b57b558080ae3e369d0249e9505511db33c7c070fc434144c3bba096adff07176a66085b57bbc4a8013329453b57343ef0024305018e5
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,3 +1,26 @@ | |
| 1 | 
            +
            ## 0.4.4
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            BUG FIXES:
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            * Fix MetaConfigurator with new GC parameters.
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            ## 0.4.3
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            BUG FIXES:
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            * Fix MetaConfigurator with new GC parameters.
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            ## 0.4.2
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            NEW FEATURES:
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            * gc_compact configuration variable. If set, will run `GC.compact` every given number of ticks (roughly seconds).
         | 
| 18 | 
            +
            * gc_stat configuration variable. If set, will log `GC.stat` at the info level every given number of ticks (roughly seconds).
         | 
| 19 | 
            +
             | 
| 20 | 
            +
            ENHANCEMENTS:
         | 
| 21 | 
            +
             | 
| 22 | 
            +
            * Now remove ec2_metadata.iam key from Facter. This value updated every hour or so causing spurious template regeneration and did not contain actionable information.
         | 
| 23 | 
            +
             | 
| 1 24 | 
             
            ## 0.4.1
         | 
| 2 25 |  | 
| 3 26 | 
             
            ENHANCEMENTS:
         | 
| @@ -26,7 +26,7 @@ module ConfigOMat | |
| 26 26 | 
             
                                :generated_templates, :services_to_reload, :profiles_to_apply,
         | 
| 27 27 | 
             
                                :last_refresh_time, :next_state, :retry_count, :retries_left, :retry_wait,
         | 
| 28 28 | 
             
                                :region, :appconfig_client, :secretsmanager_client, :systemd_interface,
         | 
| 29 | 
            -
                                :secrets_loader_memory
         | 
| 29 | 
            +
                                :secrets_loader_memory, :gc_compact, :gc_stat
         | 
| 30 30 |  | 
| 31 31 | 
             
                  def initialize(
         | 
| 32 32 | 
             
                    argv: [],
         | 
| @@ -58,7 +58,9 @@ module ConfigOMat | |
| 58 58 | 
             
                    appconfig_client: nil,
         | 
| 59 59 | 
             
                    secretsmanager_client: nil,
         | 
| 60 60 | 
             
                    systemd_interface: nil,
         | 
| 61 | 
            -
                    secrets_loader_memory: nil
         | 
| 61 | 
            +
                    secrets_loader_memory: nil,
         | 
| 62 | 
            +
                    gc_compact: 0,
         | 
| 63 | 
            +
                    gc_stat: 0
         | 
| 62 64 | 
             
                  )
         | 
| 63 65 | 
             
                    super()
         | 
| 64 66 |  | 
| @@ -92,6 +94,8 @@ module ConfigOMat | |
| 92 94 | 
             
                    @secretsmanager_client = secretsmanager_client
         | 
| 93 95 | 
             
                    @systemd_interface = systemd_interface
         | 
| 94 96 | 
             
                    @secrets_loader_memory = secrets_loader_memory
         | 
| 97 | 
            +
                    @gc_compact = gc_compact
         | 
| 98 | 
            +
                    @gc_stat = gc_stat
         | 
| 95 99 | 
             
                  end
         | 
| 96 100 | 
             
                end
         | 
| 97 101 | 
             
              end
         | 
| @@ -23,7 +23,7 @@ module ConfigOMat | |
| 23 23 | 
             
                class NextTick < LifecycleVM::OpBase
         | 
| 24 24 | 
             
                  PAUSE_INTERVAL = 1
         | 
| 25 25 |  | 
| 26 | 
            -
                  reads :last_refresh_time, :refresh_interval, :run_count, :retry_count
         | 
| 26 | 
            +
                  reads :last_refresh_time, :refresh_interval, :run_count, :retry_count, :gc_stat, :gc_compact
         | 
| 27 27 | 
             
                  writes :next_state, :run_count, :retries_left
         | 
| 28 28 |  | 
| 29 29 | 
             
                  def call
         | 
| @@ -31,6 +31,16 @@ module ConfigOMat | |
| 31 31 |  | 
| 32 32 | 
             
                    SdNotify.watchdog
         | 
| 33 33 |  | 
| 34 | 
            +
                    if gc_compact > 0 && run_count % gc_compact == 0
         | 
| 35 | 
            +
                      response = GC.compact
         | 
| 36 | 
            +
                      logger&.info(:gc_compact, compact: response)
         | 
| 37 | 
            +
                    end
         | 
| 38 | 
            +
             | 
| 39 | 
            +
                    if gc_stat > 0 && run_count % gc_stat == 0
         | 
| 40 | 
            +
                      response = GC.stat
         | 
| 41 | 
            +
                      logger&.info(:gc_stat, stat: response)
         | 
| 42 | 
            +
                    end
         | 
| 43 | 
            +
             | 
| 34 44 | 
             
                    # If we got here then our retry process has succeeded.
         | 
| 35 45 | 
             
                    self.retries_left = retry_count
         | 
| 36 46 |  | 
| @@ -23,7 +23,7 @@ module ConfigOMat | |
| 23 23 | 
             
                                :systemd_directory, :logs_directory, :profile_defs,
         | 
| 24 24 | 
             
                                :template_defs, :service_defs, :dependencies, :refresh_interval,
         | 
| 25 25 | 
             
                                :client_id, :retry_count, :retries_left, :retry_wait,
         | 
| 26 | 
            -
                                :region, :systemd_interface
         | 
| 26 | 
            +
                                :region, :systemd_interface, :gc_stat, :gc_compact
         | 
| 27 27 |  | 
| 28 28 | 
             
                  def initialize(
         | 
| 29 29 | 
             
                    argv: [],
         | 
| @@ -44,7 +44,9 @@ module ConfigOMat | |
| 44 44 | 
             
                    retries_left: 3,
         | 
| 45 45 | 
             
                    retry_wait: 2,
         | 
| 46 46 | 
             
                    region: nil,
         | 
| 47 | 
            -
                    systemd_interface: nil
         | 
| 47 | 
            +
                    systemd_interface: nil,
         | 
| 48 | 
            +
                    gc_stat: 0,
         | 
| 49 | 
            +
                    gc_copmact: 0
         | 
| 48 50 | 
             
                  )
         | 
| 49 51 | 
             
                    super()
         | 
| 50 52 |  | 
| @@ -67,6 +69,8 @@ module ConfigOMat | |
| 67 69 | 
             
                    @retry_wait = retry_wait
         | 
| 68 70 | 
             
                    @region = region
         | 
| 69 71 | 
             
                    @systemd_interface = systemd_interface
         | 
| 72 | 
            +
                    @gc_stat = gc_stat
         | 
| 73 | 
            +
                    @gc_compact = gc_compact
         | 
| 70 74 | 
             
                  end
         | 
| 71 75 | 
             
                end
         | 
| 72 76 | 
             
              end
         | 
| @@ -63,7 +63,7 @@ module ConfigOMat | |
| 63 63 | 
             
                  reads :configuration_directory, :logs_directory, :env
         | 
| 64 64 | 
             
                  writes :profile_defs, :template_defs, :service_defs, :dependencies,
         | 
| 65 65 | 
             
                         :refresh_interval, :client_id, :logger, :retry_count, :retries_left,
         | 
| 66 | 
            -
                         :retry_wait, :region, :systemd_interface
         | 
| 66 | 
            +
                         :retry_wait, :region, :systemd_interface, :gc_stat, :gc_compact
         | 
| 67 67 |  | 
| 68 68 | 
             
                  def call
         | 
| 69 69 | 
             
                    default_config = {
         | 
| @@ -74,7 +74,9 @@ module ConfigOMat | |
| 74 74 | 
             
                      services: [],
         | 
| 75 75 | 
             
                      templates: [],
         | 
| 76 76 | 
             
                      profiles: [],
         | 
| 77 | 
            -
                      region: nil
         | 
| 77 | 
            +
                      region: nil,
         | 
| 78 | 
            +
                      gc_compact: 0,
         | 
| 79 | 
            +
                      gc_stat: 0
         | 
| 78 80 | 
             
                    }
         | 
| 79 81 |  | 
| 80 82 | 
             
                    # TODO: I would like to make this configurable. I think the trick
         | 
| @@ -174,6 +176,8 @@ module ConfigOMat | |
| 174 176 | 
             
                    self.retries_left = retry_count
         | 
| 175 177 | 
             
                    self.retry_wait = merged_config[:retry_wait]
         | 
| 176 178 | 
             
                    self.region = merged_config[:region]
         | 
| 179 | 
            +
                    self.gc_stat = merged_config[:gc_stat]
         | 
| 180 | 
            +
                    self.gc_compact = merged_config[:gc_compact]
         | 
| 177 181 |  | 
| 178 182 | 
             
                    self.dependencies = service_defs.each_with_object({}) do |(name, service), template_to_services|
         | 
| 179 183 | 
             
                      service.templates.each do |template|
         | 
| @@ -195,7 +195,7 @@ module ConfigOMat | |
| 195 195 | 
             
              class LoadedFacterProfile < ConfigItem
         | 
| 196 196 | 
             
                CLEAR_FROM_FACTER = [
         | 
| 197 197 | 
             
                  "memoryfree", "memoryfree_mb", "load_averages", "uptime", "system_uptime", "uptime_seconds", "uptime_hours", "uptime_days",
         | 
| 198 | 
            -
                  {"ec2_metadata" => ["identity-credentials"]},
         | 
| 198 | 
            +
                  {"ec2_metadata" => ["identity-credentials", "iam"]},
         | 
| 199 199 | 
             
                  {"memory" => [{"system" => ["capacity", "available_bytes", "used", "used_bytes", "available"] }] }
         | 
| 200 200 | 
             
                ].freeze
         | 
| 201 201 |  | 
    
        data/lib/config_o_mat/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: config_o_mat
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.4. | 
| 4 | 
            +
              version: 0.4.4
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Alex Scarborough
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2022-04- | 
| 11 | 
            +
            date: 2022-04-14 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: aws-sdk-appconfig
         |