vagrant-impressbox 0.1.0

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.
Files changed (37) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +14 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +4 -0
  5. data/Gemfile +21 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +31 -0
  8. data/Rakefile +9 -0
  9. data/bin/console +14 -0
  10. data/bin/setup +8 -0
  11. data/lib/vagrant-impressbox.rb +21 -0
  12. data/lib/vagrant-impressbox/action_builder.rb +20 -0
  13. data/lib/vagrant-impressbox/actions/copy_git_settings.rb +38 -0
  14. data/lib/vagrant-impressbox/actions/insert_key.rb +56 -0
  15. data/lib/vagrant-impressbox/command.rb +165 -0
  16. data/lib/vagrant-impressbox/config.rb +38 -0
  17. data/lib/vagrant-impressbox/configs/command.yml +30 -0
  18. data/lib/vagrant-impressbox/configs/default.yml +13 -0
  19. data/lib/vagrant-impressbox/configs/for/impresscms.yml +8 -0
  20. data/lib/vagrant-impressbox/configurators/base.rb +21 -0
  21. data/lib/vagrant-impressbox/configurators/hyperv.rb +36 -0
  22. data/lib/vagrant-impressbox/configurators/virtualbox.rb +23 -0
  23. data/lib/vagrant-impressbox/objects/config_data.rb +62 -0
  24. data/lib/vagrant-impressbox/objects/config_file.rb +128 -0
  25. data/lib/vagrant-impressbox/objects/configurator.rb +135 -0
  26. data/lib/vagrant-impressbox/objects/ssh_key_detect.rb +116 -0
  27. data/lib/vagrant-impressbox/objects/template.rb +99 -0
  28. data/lib/vagrant-impressbox/plugin.rb +46 -0
  29. data/lib/vagrant-impressbox/provisioner.rb +103 -0
  30. data/lib/vagrant-impressbox/templates/Vagrantfile +37 -0
  31. data/lib/vagrant-impressbox/templates/config.yaml +76 -0
  32. data/lib/vagrant-impressbox/version.rb +4 -0
  33. data/locales/en.yml +28 -0
  34. data/spec/impressbox_spec.rb +11 -0
  35. data/spec/spec_helper.rb +2 -0
  36. data/vagrant-impressbox.gemspec +31 -0
  37. metadata +157 -0
@@ -0,0 +1,4 @@
1
+ # Plugin version information
2
+ module Impressbox
3
+ VERSION = '0.1.0'.freeze
4
+ end
data/locales/en.yml ADDED
@@ -0,0 +1,28 @@
1
+ en:
2
+ description: |
3
+ This plugin adds possibility to create and manage box with configuration defined in YAML file.
4
+ This plugin is created for developing something with ImpressCMS but it's possible to use also with other CMS'es and framework.
5
+ ssh_key:
6
+ updating:
7
+ public: Updating public key...
8
+ private: Updating private key...
9
+ copying:
10
+ git_settings: Copying locale GIT settings to remote machine...
11
+ config:
12
+ recreated: Vagrant enviroment configuration (re)created
13
+ updated: Vagrant enviroment configuration updated
14
+ not_exist: "Config file %{file} not exist"
15
+ command:
16
+ impressbox:
17
+ synopsis: Creates a Vagrantfile and config.yaml ready for use with ImpressBox
18
+ usage: "Usage: %{cmd} [options]"
19
+ arguments:
20
+ box: "Box name for new box (default: %{box})"
21
+ ip: "Defines IP (default: %{ip})"
22
+ hostname: "Hostname associated with this box (default: %{hostname})"
23
+ memory: "How much RAM (in megabytes)? (default: %{memory})"
24
+ cpus: "How much CPU? (default: %{cpus})"
25
+ cmd: "What command would be executed when use vagrant exec on host? (default: %{cmd})"
26
+ special:
27
+ recreate: "Recreates config instead of updating (so you don't need to delete first)"
28
+ use_template: "This argument says that predefined config will be used when creating box. Possible names: %{templates}"
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+
3
+ describe Impressbox do
4
+ it 'has a version number' do
5
+ expect(Impressbox::VERSION).not_to be nil
6
+ end
7
+
8
+ it 'does something useful' do
9
+ expect(false).to eq(true)
10
+ end
11
+ end
@@ -0,0 +1,2 @@
1
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
+ require 'impressbox'
@@ -0,0 +1,31 @@
1
+ # coding: utf-8
2
+ $LOAD_PATH << File.expand_path(File.join(File.dirname(__FILE__), 'lib'))
3
+ require 'vagrant-impressbox/version'
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'vagrant-impressbox'
7
+ spec.version = Impressbox::VERSION
8
+ spec.authors = ["Raimondas Rimkevi\xC4\x8Dius"]
9
+ spec.email = ['mekdrop@impresscms.org']
10
+
11
+ spec.summary = <<-EOD
12
+ This plugin can do provision and create configurations for simple boxes for development
13
+ EOD
14
+ spec.description = <<-EOD
15
+ This plugin can do provision and create configurations for simple boxes for development
16
+ EOD
17
+ spec.homepage = 'http://impresscms.org'
18
+ spec.license = 'MIT'
19
+
20
+ spec.files = `git ls-files -z`.split("\0")
21
+ spec.bindir = 'exe'
22
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
+ spec.require_path = 'lib'
24
+
25
+ spec.add_development_dependency 'bundler', '<= 1.11.2'
26
+ spec.add_development_dependency 'rake', '~> 1.10.6'
27
+ spec.add_development_dependency 'rspec', '~> 2.14.0'
28
+
29
+ spec.add_dependency 'mustache', '~> 1.0'
30
+ spec.add_dependency 'vagrant-hostmanager', '~> 1.8', '>= 1.8.1'
31
+ end
metadata ADDED
@@ -0,0 +1,157 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: vagrant-impressbox
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Raimondas Rimkevičius
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-04-24 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "<="
18
+ - !ruby/object:Gem::Version
19
+ version: 1.11.2
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "<="
25
+ - !ruby/object:Gem::Version
26
+ version: 1.11.2
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 1.10.6
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 1.10.6
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 2.14.0
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 2.14.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: mustache
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: vagrant-hostmanager
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.8'
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: 1.8.1
79
+ type: :runtime
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - "~>"
84
+ - !ruby/object:Gem::Version
85
+ version: '1.8'
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: 1.8.1
89
+ description: |2
90
+ This plugin can do provision and create configurations for simple boxes for development
91
+ email:
92
+ - mekdrop@impresscms.org
93
+ executables: []
94
+ extensions: []
95
+ extra_rdoc_files: []
96
+ files:
97
+ - ".gitignore"
98
+ - ".rspec"
99
+ - ".travis.yml"
100
+ - Gemfile
101
+ - LICENSE.txt
102
+ - README.md
103
+ - Rakefile
104
+ - bin/console
105
+ - bin/setup
106
+ - lib/vagrant-impressbox.rb
107
+ - lib/vagrant-impressbox/action_builder.rb
108
+ - lib/vagrant-impressbox/actions/copy_git_settings.rb
109
+ - lib/vagrant-impressbox/actions/insert_key.rb
110
+ - lib/vagrant-impressbox/command.rb
111
+ - lib/vagrant-impressbox/config.rb
112
+ - lib/vagrant-impressbox/configs/command.yml
113
+ - lib/vagrant-impressbox/configs/default.yml
114
+ - lib/vagrant-impressbox/configs/for/impresscms.yml
115
+ - lib/vagrant-impressbox/configurators/base.rb
116
+ - lib/vagrant-impressbox/configurators/hyperv.rb
117
+ - lib/vagrant-impressbox/configurators/virtualbox.rb
118
+ - lib/vagrant-impressbox/objects/config_data.rb
119
+ - lib/vagrant-impressbox/objects/config_file.rb
120
+ - lib/vagrant-impressbox/objects/configurator.rb
121
+ - lib/vagrant-impressbox/objects/ssh_key_detect.rb
122
+ - lib/vagrant-impressbox/objects/template.rb
123
+ - lib/vagrant-impressbox/plugin.rb
124
+ - lib/vagrant-impressbox/provisioner.rb
125
+ - lib/vagrant-impressbox/templates/Vagrantfile
126
+ - lib/vagrant-impressbox/templates/config.yaml
127
+ - lib/vagrant-impressbox/version.rb
128
+ - locales/en.yml
129
+ - spec/impressbox_spec.rb
130
+ - spec/spec_helper.rb
131
+ - vagrant-impressbox.gemspec
132
+ homepage: http://impresscms.org
133
+ licenses:
134
+ - MIT
135
+ metadata: {}
136
+ post_install_message:
137
+ rdoc_options: []
138
+ require_paths:
139
+ - lib
140
+ required_ruby_version: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
145
+ required_rubygems_version: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - ">="
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ requirements: []
151
+ rubyforge_project:
152
+ rubygems_version: 2.6.2
153
+ signing_key:
154
+ specification_version: 4
155
+ summary: This plugin can do provision and create configurations for simple boxes for
156
+ development
157
+ test_files: []