nickthecook/ops

Return better error when `ejson decrypt` fails

Closed this issue · 1 comments

This was caused by an empty value in an ejson file:

[10:52 AM] Jack Harold
    ackharold@Jacks-MacBook-Pro heliograf % ops up
[Brew] terraform                                   OK
[Brew] ansible                                     OK
[Dir] app/connections                              OK
[Dir] app/ssl                                      OK
[Dir] provisioning                                 OK
[Sshkey] keys/$environment/rcgtadmin@heliograf     Decryption failed: invalid message format
Traceback (most recent call last):
        12: from /usr/local/bin/ops:23:in `<main>'
        11: from /usr/local/bin/ops:23:in `load'
        10: from /Library/Ruby/Gems/2.6.0/gems/ops_team-0.8.8/bin/ops:8:in `<top (required)>'
         9: from /Library/Ruby/Gems/2.6.0/gems/ops_team-0.8.8/lib/ops.rb:32:in `run'
         8: from /Library/Ruby/Gems/2.6.0/gems/ops_team-0.8.8/lib/ops.rb:54:in `run_action'
         7: from /Library/Ruby/Gems/2.6.0/gems/ops_team-0.8.8/lib/builtins/up.rb:20:in `run'
         6: from /Library/Ruby/Gems/2.6.0/gems/ops_team-0.8.8/lib/builtins/up.rb:30:in `meet_dependencies'
         5: from /Library/Ruby/Gems/2.6.0/gems/ops_team-0.8.8/lib/builtins/up.rb:30:in `each'
         4: from /Library/Ruby/Gems/2.6.0/gems/ops_team-0.8.8/lib/builtins/up.rb:36:in `block in meet_dependencies'
         3: from /Library/Ruby/Gems/2.6.0/gems/ops_team-0.8.8/lib/builtins/up.rb:42:in `meet_dependency'
         2: from /Library/Ruby/Gems/2.6.0/gems/ops_team-0.8.8/lib/dependencies/sshkey.rb:19:in `meet'
         1: from /Library/Ruby/Gems/2.6.0/gems/ops_team-0.8.8/lib/app_config.rb:6:in `load'
/Library/Ruby/Gems/2.6.0/gems/ops_team-0.8.8/lib/app_config.rb:25:in `load': undefined method `[]' for nil:NilClass (NoMethodError)

Fixed in 0.10.3.