summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--DEVNOTES (renamed from cli/DEVNOTES)36
-rw-r--r--Gemfile (renamed from cli/Gemfile)0
-rw-r--r--Gemfile.lock (renamed from cli/Gemfile.lock)0
-rw-r--r--README.md133
-rw-r--r--Rakefile (renamed from cli/Rakefile)0
-rwxr-xr-xbin/leap (renamed from cli/bin/leap)0
-rw-r--r--cli/README.md132
-rw-r--r--leap_cli.gemspec (renamed from cli/leap_cli.gemspec)0
-rw-r--r--leap_cli.rdoc (renamed from cli/leap_cli.rdoc)0
-rw-r--r--lib/leap_cli.rb (renamed from cli/lib/leap_cli.rb)0
-rw-r--r--lib/leap_cli/commands/README (renamed from cli/lib/leap_cli/commands/README)0
-rw-r--r--lib/leap_cli/commands/compile.rb (renamed from cli/lib/leap_cli/commands/compile.rb)0
-rw-r--r--lib/leap_cli/commands/deploy.rb (renamed from cli/lib/leap_cli/commands/deploy.rb)0
-rw-r--r--lib/leap_cli/commands/init.rb (renamed from cli/lib/leap_cli/commands/init.rb)0
-rw-r--r--lib/leap_cli/commands/list.rb (renamed from cli/lib/leap_cli/commands/list.rb)0
-rw-r--r--lib/leap_cli/commands/pre.rb (renamed from cli/lib/leap_cli/commands/pre.rb)0
-rw-r--r--lib/leap_cli/config.rb (renamed from cli/lib/leap_cli/config.rb)0
-rw-r--r--lib/leap_cli/config_list.rb (renamed from cli/lib/leap_cli/config_list.rb)0
-rw-r--r--lib/leap_cli/config_manager.rb (renamed from cli/lib/leap_cli/config_manager.rb)0
-rw-r--r--lib/leap_cli/init.rb (renamed from cli/lib/leap_cli/init.rb)0
-rw-r--r--lib/leap_cli/log.rb (renamed from cli/lib/leap_cli/log.rb)0
-rw-r--r--lib/leap_cli/path.rb (renamed from cli/lib/leap_cli/path.rb)0
-rw-r--r--lib/leap_cli/version.rb (renamed from cli/lib/leap_cli/version.rb)0
-rw-r--r--test/default_test.rb (renamed from cli/test/default_test.rb)0
-rw-r--r--test/provider/common.json (renamed from cli/test/provider/common.json)0
-rw-r--r--test/provider/files/ca/ca.crt (renamed from cli/test/provider/files/ca/ca.crt)0
-rw-r--r--test/provider/files/ca/ca.key (renamed from cli/test/provider/files/ca/ca.key)0
-rw-r--r--test/provider/files/public-definitions/provider.json.erb (renamed from cli/test/provider/files/public-definitions/provider.json.erb)0
-rw-r--r--test/provider/files/vpn1/vpn1.rewire.co.crt (renamed from cli/test/provider/files/vpn1/vpn1.rewire.co.crt)0
-rw-r--r--test/provider/files/vpn1/vpn1.rewire.co.key (renamed from cli/test/provider/files/vpn1/vpn1.rewire.co.key)0
-rw-r--r--test/provider/hiera/couch1.rewire.yaml (renamed from cli/test/provider/hiera/couch1.rewire.yaml)0
-rw-r--r--test/provider/hiera/couch2.rewire.yaml (renamed from cli/test/provider/hiera/couch2.rewire.yaml)0
-rw-r--r--test/provider/hiera/ns1.rewire.yaml (renamed from cli/test/provider/hiera/ns1.rewire.yaml)0
-rw-r--r--test/provider/hiera/ns2.rewire.yaml (renamed from cli/test/provider/hiera/ns2.rewire.yaml)0
-rw-r--r--test/provider/hiera/vpn1.rewire.yaml (renamed from cli/test/provider/hiera/vpn1.rewire.yaml)0
-rw-r--r--test/provider/hiera/web1.rewire.yaml (renamed from cli/test/provider/hiera/web1.rewire.yaml)0
-rw-r--r--test/provider/nodes/couch1.json (renamed from cli/test/provider/nodes/couch1.json)0
-rw-r--r--test/provider/nodes/couch2.json (renamed from cli/test/provider/nodes/couch2.json)0
-rw-r--r--test/provider/nodes/ns1.json (renamed from cli/test/provider/nodes/ns1.json)0
-rw-r--r--test/provider/nodes/ns2.json (renamed from cli/test/provider/nodes/ns2.json)0
-rw-r--r--test/provider/nodes/vpn1.json (renamed from cli/test/provider/nodes/vpn1.json)0
-rw-r--r--test/provider/nodes/web1.json (renamed from cli/test/provider/nodes/web1.json)0
-rw-r--r--test/provider/provider.json (renamed from cli/test/provider/provider.json)0
-rw-r--r--test/provider/services/couchdb.json (renamed from cli/test/provider/services/couchdb.json)0
-rw-r--r--test/provider/services/dns.json (renamed from cli/test/provider/services/dns.json)0
-rw-r--r--test/provider/services/openvpn.json (renamed from cli/test/provider/services/openvpn.json)0
-rw-r--r--test/provider/services/webapp.json (renamed from cli/test/provider/services/webapp.json)0
-rw-r--r--test/provider/tags/production.json (renamed from cli/test/provider/tags/production.json)0
-rw-r--r--test/test_helper.rb (renamed from cli/test/test_helper.rb)0
49 files changed, 136 insertions, 165 deletions
diff --git a/cli/DEVNOTES b/DEVNOTES
index eceac87..64e0210 100644
--- a/cli/DEVNOTES
+++ b/DEVNOTES
@@ -8,14 +8,12 @@ templates for nodes and services stored in leap_platform
commands:
- leap add-service # menu of services, adding copies the template
- leap add-node # you pick a service, then it copies template
+ leap add-service # menu of services, copies from the template
+ leap add-node # you pick a service among those enabled, then it copies template
deploy
---------------------
-not yet working
-
leap bootstrap
leap dryrun
leap deploy
@@ -23,27 +21,9 @@ not yet working
key management
-------------------------
-not yet working
-
leap add-ssh-keypair
leap add-x509-keypair
-hiera logic
-------------------------
-
-leap_platform should be able insert ruby logic in the generation of hiera .yml files. for example, so say that a webapp node should get a list of all the couchdb nodes its config.
-
-this code might look like this
-
- node['couchdb_ips'] = @nodes[:services => :couchdb].map(&:ip_address)
-
-or
-
- node['couchdb_ips'] = @services[:couchdb].nodes.map(&:ip_address)
-
-maybe see http://blog.bigbinary.com/2008/10/17/under-the-hood-how-named-scope-works.html
-
-
json validation
------------------------
@@ -54,8 +34,9 @@ http://www.kuwata-lab.com/kwalify/ruby/users-guide.html
useful liberaries
================================
-user interaction
+notes to myself
+user interaction
readline
highline
terminal-tables
@@ -63,34 +44,25 @@ user interaction
http://stackoverflow.com/questions/9577718/what-ruby-libraries-should-i-use-for-building-a-console-based-application
testing
-
aruba -- test for cli
help
-
gem-man -- install man pages with gems
ronn -- write man pages in markdown
push examples
-
https://github.com/net-ssh/net-ssh
-
https://github.com/seattlerb/rake-remote_task
http://docs.seattlerb.org/rake-remote_task/
https://github.com/seattlerb/rake-remote_task/blob/master/lib/rake/remote_task.rb
-
https://github.com/davidwinter/sooty
push puppet with rake/remote_task
https://github.com/davidwinter/sooty/blob/master/lib/sooty.rb
-
calling rsync from ruby
https://github.com/RichGuk/rrsync/blob/master/rrsync.rb
http://rubyforge.org/projects/six-rsync/
-
https://github.com/automateit/automateit
-
http://www.jedi.be/blog/2009/11/17/shell-scripting-dsl-in-ruby/
-
parallel shell
https://github.com/delano/rye
https://github.com/adamwiggins/rush
diff --git a/cli/Gemfile b/Gemfile
index e45e65f..e45e65f 100644
--- a/cli/Gemfile
+++ b/Gemfile
diff --git a/cli/Gemfile.lock b/Gemfile.lock
index 60ce6f8..60ce6f8 100644
--- a/cli/Gemfile.lock
+++ b/Gemfile.lock
diff --git a/README.md b/README.md
index b597e4f..fccd6d1 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,132 @@
-more to come.
+About LEAP command line interface
+=================================
+
+This gem installs an executable 'leap' that allows you to manage servers using the leap platform.
+
+Installation
+=================================
+
+To install the gem:
+
+ gem install leap_cli
+
+To run from a clone of the git repo, see "Development", below.
+
+Usage
+=================================
+
+This tool is incomplete, so most commands don't yet work.
+
+Run `leap help` for a usage instructions.
+
+Here is an example usage:
+
+ leap init provider
+ cd provider
+ edit configuration files (see below)
+ leap compile
+
+Directories and Files
+=================================
+
+The general structure of leap project looks like this:
+
+ my_leap_project/ # the 'root' directory
+ leap_platform/ # a clone of the leap_platform puppet recipes
+ provider/ # your provider-specific configurations
+
+The "leap" command should be run from within the "provider" directory.
+
+You can name these directories whatever you like. The leap command will walk up the directory tree until it finds a directory that looks like a 'root' directory.
+
+Within the "provider" directory:
+
+ nodes/ # one configuration file per node (i.e. server)
+ services/ # nodes inherit from these files if specified in node config.
+ tags/ # nodes inherit from these files if specified in node config.
+ files/ # text and binary files needed for services and nodes, including keypairs
+ users/ # crypto key material for sysadmins
+ common.yaml # all nodes inherit these options
+ provider.yaml # global service provider definition
+
+Configuration Files
+=================================
+
+All configuration files are in JSON format. For example
+
+ {
+ "key1": "value1",
+ "key2": "value2"
+ }
+
+Keys should match /[a-z0-9_]/
+
+Unlike traditional JSON, comments are allowed. If the first non-whitespace character is '#' the line is treated as a comment.
+
+ # this is a comment
+ {
+ # this is a comment
+ "key": "value" # this is an error
+ }
+
+Options in the configuration files might be nested. For example:
+
+ {
+ "openvpn": {
+ "ip_address": "1.1.1.1"
+ }
+ }
+
+When compiled into hiera and made available in puppet, this becomes a Hash object with flattened keys:
+
+ {"openvpn.ip_address" => "1.1.1.1"}
+
+Node Configuration
+=================================
+
+The name of the file will be the hostname of the node.
+
+An example configuration "nodes/dns-europe.json"
+
+ {
+ "services": "dns",
+ "tags": ["production", "europe"],
+ "ip_address": "1.1.1.1"
+ }
+
+This node will have hostname "dns-europe" and it will inherit from the following files (in this order):
+
+ common.json
+ services/dns.json
+ tags/europe.json
+ tags/production.json
+
+Development
+=================================
+
+prerequisites:
+
+* rubygems (``apt-get install rubygems``)
+* bundler (``gem install bundler``)
+
+Install command line ``leap``:
+
+ git clone git://leap.se/leap_cli # clone leap cli code
+ cd leap_cli
+ bundle # install required gems
+ ln -s `pwd`/bin/leap ~/bin # link executable somewhere in your bin path
+
+You can experiment using the example provider in the test directory
+
+ cd test/provider
+ leap
+
+Alternately, you can create your own provider for testing:
+
+ mkdir ~/dev/example.org
+ cd ~/dev/example.org
+ git clone git://leap.se/leap_platform
+ leap init provider
+ cd provider
+ leap
+
diff --git a/cli/Rakefile b/Rakefile
index c97688b..c97688b 100644
--- a/cli/Rakefile
+++ b/Rakefile
diff --git a/cli/bin/leap b/bin/leap
index 4155b58..4155b58 100755
--- a/cli/bin/leap
+++ b/bin/leap
diff --git a/cli/README.md b/cli/README.md
deleted file mode 100644
index fccd6d1..0000000
--- a/cli/README.md
+++ /dev/null
@@ -1,132 +0,0 @@
-About LEAP command line interface
-=================================
-
-This gem installs an executable 'leap' that allows you to manage servers using the leap platform.
-
-Installation
-=================================
-
-To install the gem:
-
- gem install leap_cli
-
-To run from a clone of the git repo, see "Development", below.
-
-Usage
-=================================
-
-This tool is incomplete, so most commands don't yet work.
-
-Run `leap help` for a usage instructions.
-
-Here is an example usage:
-
- leap init provider
- cd provider
- edit configuration files (see below)
- leap compile
-
-Directories and Files
-=================================
-
-The general structure of leap project looks like this:
-
- my_leap_project/ # the 'root' directory
- leap_platform/ # a clone of the leap_platform puppet recipes
- provider/ # your provider-specific configurations
-
-The "leap" command should be run from within the "provider" directory.
-
-You can name these directories whatever you like. The leap command will walk up the directory tree until it finds a directory that looks like a 'root' directory.
-
-Within the "provider" directory:
-
- nodes/ # one configuration file per node (i.e. server)
- services/ # nodes inherit from these files if specified in node config.
- tags/ # nodes inherit from these files if specified in node config.
- files/ # text and binary files needed for services and nodes, including keypairs
- users/ # crypto key material for sysadmins
- common.yaml # all nodes inherit these options
- provider.yaml # global service provider definition
-
-Configuration Files
-=================================
-
-All configuration files are in JSON format. For example
-
- {
- "key1": "value1",
- "key2": "value2"
- }
-
-Keys should match /[a-z0-9_]/
-
-Unlike traditional JSON, comments are allowed. If the first non-whitespace character is '#' the line is treated as a comment.
-
- # this is a comment
- {
- # this is a comment
- "key": "value" # this is an error
- }
-
-Options in the configuration files might be nested. For example:
-
- {
- "openvpn": {
- "ip_address": "1.1.1.1"
- }
- }
-
-When compiled into hiera and made available in puppet, this becomes a Hash object with flattened keys:
-
- {"openvpn.ip_address" => "1.1.1.1"}
-
-Node Configuration
-=================================
-
-The name of the file will be the hostname of the node.
-
-An example configuration "nodes/dns-europe.json"
-
- {
- "services": "dns",
- "tags": ["production", "europe"],
- "ip_address": "1.1.1.1"
- }
-
-This node will have hostname "dns-europe" and it will inherit from the following files (in this order):
-
- common.json
- services/dns.json
- tags/europe.json
- tags/production.json
-
-Development
-=================================
-
-prerequisites:
-
-* rubygems (``apt-get install rubygems``)
-* bundler (``gem install bundler``)
-
-Install command line ``leap``:
-
- git clone git://leap.se/leap_cli # clone leap cli code
- cd leap_cli
- bundle # install required gems
- ln -s `pwd`/bin/leap ~/bin # link executable somewhere in your bin path
-
-You can experiment using the example provider in the test directory
-
- cd test/provider
- leap
-
-Alternately, you can create your own provider for testing:
-
- mkdir ~/dev/example.org
- cd ~/dev/example.org
- git clone git://leap.se/leap_platform
- leap init provider
- cd provider
- leap
-
diff --git a/cli/leap_cli.gemspec b/leap_cli.gemspec
index 208355d..208355d 100644
--- a/cli/leap_cli.gemspec
+++ b/leap_cli.gemspec
diff --git a/cli/leap_cli.rdoc b/leap_cli.rdoc
index 31d5deb..31d5deb 100644
--- a/cli/leap_cli.rdoc
+++ b/leap_cli.rdoc
diff --git a/cli/lib/leap_cli.rb b/lib/leap_cli.rb
index b935e35..b935e35 100644
--- a/cli/lib/leap_cli.rb
+++ b/lib/leap_cli.rb
diff --git a/cli/lib/leap_cli/commands/README b/lib/leap_cli/commands/README
index 00fcd84..00fcd84 100644
--- a/cli/lib/leap_cli/commands/README
+++ b/lib/leap_cli/commands/README
diff --git a/cli/lib/leap_cli/commands/compile.rb b/lib/leap_cli/commands/compile.rb
index 6b38de5..6b38de5 100644
--- a/cli/lib/leap_cli/commands/compile.rb
+++ b/lib/leap_cli/commands/compile.rb
diff --git a/cli/lib/leap_cli/commands/deploy.rb b/lib/leap_cli/commands/deploy.rb
index 3694a38..3694a38 100644
--- a/cli/lib/leap_cli/commands/deploy.rb
+++ b/lib/leap_cli/commands/deploy.rb
diff --git a/cli/lib/leap_cli/commands/init.rb b/lib/leap_cli/commands/init.rb
index 75cc876..75cc876 100644
--- a/cli/lib/leap_cli/commands/init.rb
+++ b/lib/leap_cli/commands/init.rb
diff --git a/cli/lib/leap_cli/commands/list.rb b/lib/leap_cli/commands/list.rb
index a186049..a186049 100644
--- a/cli/lib/leap_cli/commands/list.rb
+++ b/lib/leap_cli/commands/list.rb
diff --git a/cli/lib/leap_cli/commands/pre.rb b/lib/leap_cli/commands/pre.rb
index ae58fc8..ae58fc8 100644
--- a/cli/lib/leap_cli/commands/pre.rb
+++ b/lib/leap_cli/commands/pre.rb
diff --git a/cli/lib/leap_cli/config.rb b/lib/leap_cli/config.rb
index 44e66be..44e66be 100644
--- a/cli/lib/leap_cli/config.rb
+++ b/lib/leap_cli/config.rb
diff --git a/cli/lib/leap_cli/config_list.rb b/lib/leap_cli/config_list.rb
index c8ff23b..c8ff23b 100644
--- a/cli/lib/leap_cli/config_list.rb
+++ b/lib/leap_cli/config_list.rb
diff --git a/cli/lib/leap_cli/config_manager.rb b/lib/leap_cli/config_manager.rb
index d383cc1..d383cc1 100644
--- a/cli/lib/leap_cli/config_manager.rb
+++ b/lib/leap_cli/config_manager.rb
diff --git a/cli/lib/leap_cli/init.rb b/lib/leap_cli/init.rb
index bebede7..bebede7 100644
--- a/cli/lib/leap_cli/init.rb
+++ b/lib/leap_cli/init.rb
diff --git a/cli/lib/leap_cli/log.rb b/lib/leap_cli/log.rb
index f51ca1e..f51ca1e 100644
--- a/cli/lib/leap_cli/log.rb
+++ b/lib/leap_cli/log.rb
diff --git a/cli/lib/leap_cli/path.rb b/lib/leap_cli/path.rb
index 5dc8fe8..5dc8fe8 100644
--- a/cli/lib/leap_cli/path.rb
+++ b/lib/leap_cli/path.rb
diff --git a/cli/lib/leap_cli/version.rb b/lib/leap_cli/version.rb
index c272647..c272647 100644
--- a/cli/lib/leap_cli/version.rb
+++ b/lib/leap_cli/version.rb
diff --git a/cli/test/default_test.rb b/test/default_test.rb
index c363bbb..c363bbb 100644
--- a/cli/test/default_test.rb
+++ b/test/default_test.rb
diff --git a/cli/test/provider/common.json b/test/provider/common.json
index ead9d68..ead9d68 100644
--- a/cli/test/provider/common.json
+++ b/test/provider/common.json
diff --git a/cli/test/provider/files/ca/ca.crt b/test/provider/files/ca/ca.crt
index ed12e15..ed12e15 100644
--- a/cli/test/provider/files/ca/ca.crt
+++ b/test/provider/files/ca/ca.crt
diff --git a/cli/test/provider/files/ca/ca.key b/test/provider/files/ca/ca.key
index 9721c35..9721c35 100644
--- a/cli/test/provider/files/ca/ca.key
+++ b/test/provider/files/ca/ca.key
diff --git a/cli/test/provider/files/public-definitions/provider.json.erb b/test/provider/files/public-definitions/provider.json.erb
index e69de29..e69de29 100644
--- a/cli/test/provider/files/public-definitions/provider.json.erb
+++ b/test/provider/files/public-definitions/provider.json.erb
diff --git a/cli/test/provider/files/vpn1/vpn1.rewire.co.crt b/test/provider/files/vpn1/vpn1.rewire.co.crt
index d2c9734..d2c9734 100644
--- a/cli/test/provider/files/vpn1/vpn1.rewire.co.crt
+++ b/test/provider/files/vpn1/vpn1.rewire.co.crt
diff --git a/cli/test/provider/files/vpn1/vpn1.rewire.co.key b/test/provider/files/vpn1/vpn1.rewire.co.key
index 3fdf38a..3fdf38a 100644
--- a/cli/test/provider/files/vpn1/vpn1.rewire.co.key
+++ b/test/provider/files/vpn1/vpn1.rewire.co.key
diff --git a/cli/test/provider/hiera/couch1.rewire.yaml b/test/provider/hiera/couch1.rewire.yaml
index 2c731ce..2c731ce 100644
--- a/cli/test/provider/hiera/couch1.rewire.yaml
+++ b/test/provider/hiera/couch1.rewire.yaml
diff --git a/cli/test/provider/hiera/couch2.rewire.yaml b/test/provider/hiera/couch2.rewire.yaml
index a835c79..a835c79 100644
--- a/cli/test/provider/hiera/couch2.rewire.yaml
+++ b/test/provider/hiera/couch2.rewire.yaml
diff --git a/cli/test/provider/hiera/ns1.rewire.yaml b/test/provider/hiera/ns1.rewire.yaml
index 264dd52..264dd52 100644
--- a/cli/test/provider/hiera/ns1.rewire.yaml
+++ b/test/provider/hiera/ns1.rewire.yaml
diff --git a/cli/test/provider/hiera/ns2.rewire.yaml b/test/provider/hiera/ns2.rewire.yaml
index 2885424..2885424 100644
--- a/cli/test/provider/hiera/ns2.rewire.yaml
+++ b/test/provider/hiera/ns2.rewire.yaml
diff --git a/cli/test/provider/hiera/vpn1.rewire.yaml b/test/provider/hiera/vpn1.rewire.yaml
index 158bb1b..158bb1b 100644
--- a/cli/test/provider/hiera/vpn1.rewire.yaml
+++ b/test/provider/hiera/vpn1.rewire.yaml
diff --git a/cli/test/provider/hiera/web1.rewire.yaml b/test/provider/hiera/web1.rewire.yaml
index 6fc76d9..6fc76d9 100644
--- a/cli/test/provider/hiera/web1.rewire.yaml
+++ b/test/provider/hiera/web1.rewire.yaml
diff --git a/cli/test/provider/nodes/couch1.json b/test/provider/nodes/couch1.json
index fe5d7e5..fe5d7e5 100644
--- a/cli/test/provider/nodes/couch1.json
+++ b/test/provider/nodes/couch1.json
diff --git a/cli/test/provider/nodes/couch2.json b/test/provider/nodes/couch2.json
index 1fe2977..1fe2977 100644
--- a/cli/test/provider/nodes/couch2.json
+++ b/test/provider/nodes/couch2.json
diff --git a/cli/test/provider/nodes/ns1.json b/test/provider/nodes/ns1.json
index 6323d10..6323d10 100644
--- a/cli/test/provider/nodes/ns1.json
+++ b/test/provider/nodes/ns1.json
diff --git a/cli/test/provider/nodes/ns2.json b/test/provider/nodes/ns2.json
index eeba9df..eeba9df 100644
--- a/cli/test/provider/nodes/ns2.json
+++ b/test/provider/nodes/ns2.json
diff --git a/cli/test/provider/nodes/vpn1.json b/test/provider/nodes/vpn1.json
index 10859ac..10859ac 100644
--- a/cli/test/provider/nodes/vpn1.json
+++ b/test/provider/nodes/vpn1.json
diff --git a/cli/test/provider/nodes/web1.json b/test/provider/nodes/web1.json
index 894fb6e..894fb6e 100644
--- a/cli/test/provider/nodes/web1.json
+++ b/test/provider/nodes/web1.json
diff --git a/cli/test/provider/provider.json b/test/provider/provider.json
index 58b6728..58b6728 100644
--- a/cli/test/provider/provider.json
+++ b/test/provider/provider.json
diff --git a/cli/test/provider/services/couchdb.json b/test/provider/services/couchdb.json
index 7c13c8d..7c13c8d 100644
--- a/cli/test/provider/services/couchdb.json
+++ b/test/provider/services/couchdb.json
diff --git a/cli/test/provider/services/dns.json b/test/provider/services/dns.json
index 3fea381..3fea381 100644
--- a/cli/test/provider/services/dns.json
+++ b/test/provider/services/dns.json
diff --git a/cli/test/provider/services/openvpn.json b/test/provider/services/openvpn.json
index ffaa313..ffaa313 100644
--- a/cli/test/provider/services/openvpn.json
+++ b/test/provider/services/openvpn.json
diff --git a/cli/test/provider/services/webapp.json b/test/provider/services/webapp.json
index 1513d6f..1513d6f 100644
--- a/cli/test/provider/services/webapp.json
+++ b/test/provider/services/webapp.json
diff --git a/cli/test/provider/tags/production.json b/test/provider/tags/production.json
index b35c065..b35c065 100644
--- a/cli/test/provider/tags/production.json
+++ b/test/provider/tags/production.json
diff --git a/cli/test/test_helper.rb b/test/test_helper.rb
index 2e33705..2e33705 100644
--- a/cli/test/test_helper.rb
+++ b/test/test_helper.rb