diff options
| -rw-r--r-- | leap_cli.gemspec | 1 | ||||
| -rw-r--r-- | lib/leap_cli/config/macros.rb | 12 | 
2 files changed, 13 insertions, 0 deletions
diff --git a/leap_cli.gemspec b/leap_cli.gemspec index 829309a..d0b9a99 100644 --- a/leap_cli.gemspec +++ b/leap_cli.gemspec @@ -70,6 +70,7 @@ spec = Gem::Specification.new do |s|    s.add_runtime_dependency('ya2yaml')    # pure ruby yaml, so we can better control output. see https://github.com/afunai/ya2yaml    s.add_runtime_dependency('json_pure')  # pure ruby json, so we can better control output.    s.add_runtime_dependency('versionomy') # compare version strings +  s.add_runtime_dependency('base32')     # base32 encoding    ##    ## DEPENDENCIES for VENDORED GEMS diff --git a/lib/leap_cli/config/macros.rb b/lib/leap_cli/config/macros.rb index 63dce97..2eabdd0 100644 --- a/lib/leap_cli/config/macros.rb +++ b/lib/leap_cli/config/macros.rb @@ -6,6 +6,8 @@  # This module is included in Config::Object  # +require 'base32' +  module LeapCli; module Config    module Macros      ## @@ -130,6 +132,16 @@ module LeapCli; module Config        @manager.secrets.set(name, Util::Secret.generate(length), @node[:environment])      end +    # inserts a base32 encoded secret +    def base32_secret(name, length=20) +      @manager.secrets.set(name, Base32.encode(Util::Secret.generate(length)), @node[:environment]) +    end + +    # Picks a random obfsproxy port from given range +    def rand_range(name, range) +      @manager.secrets.set(name, rand(range), @node[:environment]) +    end +      #      # inserts an hexidecimal secret string, generating it if needed.      #  | 
