prepd 0.1.1 → 0.3.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 (51) hide show
  1. checksums.yaml +5 -5
  2. data/bin/console +2 -0
  3. data/files/cluster/Vagrantfile +118 -0
  4. data/files/cluster/vagrant.yml +52 -0
  5. data/files/developer/cluster/provision.yml +2 -0
  6. data/files/machine/build.json +52 -0
  7. data/files/machine/debian/stretch/iso.json +101 -0
  8. data/files/machine/debian/stretch/preseed.cfg +404 -0
  9. data/files/machine/json.rb +26 -0
  10. data/files/machine/push.json +56 -0
  11. data/files/machine/rebuild.json +60 -0
  12. data/files/project/provision.yml +20 -0
  13. data/files/project/vars.yml +5 -0
  14. data/files/setup.yml +16 -0
  15. data/files/setup/README.md +21 -0
  16. data/files/setup/ansible.cfg +4 -0
  17. data/files/setup/hosts +1 -0
  18. data/files/setup/setup.yml +19 -0
  19. data/files/setup/vars.yml +20 -0
  20. data/files/workspace/.gitignore +12 -0
  21. data/files/workspace/README.md +11 -0
  22. data/files/workspace/clusters/prepd.yml +17 -0
  23. data/files/workspace/clusters/provision.yml +73 -0
  24. data/files/workspace/clusters/vagrant.rb +106 -0
  25. data/files/workspace/clusters/vagrant.yml +18 -0
  26. data/files/workspace/data/.keep +0 -0
  27. data/files/workspace/developer/ansible.cfg +4 -0
  28. data/files/workspace/developer/credentials/.keep +0 -0
  29. data/files/workspace/developer/hosts +7 -0
  30. data/files/workspace/developer/machines/provision.yml +9 -0
  31. data/files/workspace/developer/provision.yml +15 -0
  32. data/files/workspace/machines/build.yml +34 -0
  33. data/files/workspace/machines/provision.yml +36 -0
  34. data/lib/prepd.rb +95 -34
  35. data/lib/prepd/cli.rb +27 -4
  36. data/lib/prepd/cli/commands.rb +64 -25
  37. data/lib/prepd/cli/options_parser.rb +42 -16
  38. data/lib/prepd/models.rb +7 -261
  39. data/lib/prepd/models/base.rb +124 -0
  40. data/lib/prepd/models/cluster.rb +255 -0
  41. data/lib/prepd/models/data.rb +5 -0
  42. data/lib/prepd/models/developer.rb +129 -0
  43. data/lib/prepd/models/machine.rb +146 -0
  44. data/lib/prepd/models/project.rb +94 -0
  45. data/lib/prepd/models/setup.rb +48 -0
  46. data/lib/prepd/models/workspace.rb +51 -0
  47. data/lib/prepd/version.rb +1 -1
  48. data/prepd.gemspec +4 -6
  49. metadata +47 -37
  50. data/TODO.md +0 -17
  51. data/lib/prepd/schema.rb +0 -23
data/lib/prepd/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Prepd
2
- VERSION = '0.1.1'
2
+ VERSION = '0.3.0'
3
3
  end
data/prepd.gemspec CHANGED
@@ -12,20 +12,18 @@ Gem::Specification.new do |spec|
12
12
  spec.summary = %q{An easy to use tool to create Production Ready Environments for Project Development}
13
13
  spec.description = %q{Prepd assists builders of web application products to start with the end in mind by making it easy to stand up all required infrastructure
14
14
  *before* starting to code the application}
15
- spec.homepage = 'https://github.com/rjayroach/prepd-gem'
15
+ spec.homepage = 'https://github.com/rjayroach/prepd'
16
16
  spec.license = 'MIT'
17
17
 
18
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|docs)/}) }
19
19
  spec.bindir = 'exe'
20
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
21
  spec.require_paths = ['lib']
22
22
 
23
23
  spec.add_development_dependency 'bundler', '~> 1.12'
24
- spec.add_development_dependency 'rake', '~> 10.0'
24
+ spec.add_development_dependency 'rake', '~> 12.0'
25
25
 
26
- spec.add_dependency 'dotenv'
27
- spec.add_dependency 'activerecord'
28
- spec.add_dependency 'sqlite3'
29
26
  spec.add_dependency 'pry'
27
+ spec.add_dependency 'activerecord'
30
28
  spec.add_dependency 'awesome_print'
31
29
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prepd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Roach
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-11-02 00:00:00.000000000 Z
11
+ date: 2018-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -30,16 +30,16 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '12.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '12.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: dotenv
42
+ name: pry
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -66,34 +66,6 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: sqlite3
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :runtime
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: pry
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :runtime
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
69
  - !ruby/object:Gem::Dependency
98
70
  name: awesome_print
99
71
  requirement: !ruby/object:Gem::Requirement
@@ -124,19 +96,57 @@ files:
124
96
  - LICENSE.txt
125
97
  - README.md
126
98
  - Rakefile
127
- - TODO.md
128
99
  - bin/console
129
100
  - bin/setup
130
101
  - exe/prepd
102
+ - files/cluster/Vagrantfile
103
+ - files/cluster/vagrant.yml
104
+ - files/developer/cluster/provision.yml
105
+ - files/machine/build.json
106
+ - files/machine/debian/stretch/iso.json
107
+ - files/machine/debian/stretch/preseed.cfg
108
+ - files/machine/json.rb
109
+ - files/machine/push.json
110
+ - files/machine/rebuild.json
111
+ - files/project/provision.yml
112
+ - files/project/vars.yml
113
+ - files/setup.yml
114
+ - files/setup/README.md
115
+ - files/setup/ansible.cfg
116
+ - files/setup/hosts
117
+ - files/setup/setup.yml
118
+ - files/setup/vars.yml
119
+ - files/workspace/.gitignore
120
+ - files/workspace/README.md
121
+ - files/workspace/clusters/prepd.yml
122
+ - files/workspace/clusters/provision.yml
123
+ - files/workspace/clusters/vagrant.rb
124
+ - files/workspace/clusters/vagrant.yml
125
+ - files/workspace/data/.keep
126
+ - files/workspace/developer/ansible.cfg
127
+ - files/workspace/developer/credentials/.keep
128
+ - files/workspace/developer/hosts
129
+ - files/workspace/developer/machines/provision.yml
130
+ - files/workspace/developer/provision.yml
131
+ - files/workspace/machines/build.yml
132
+ - files/workspace/machines/provision.yml
133
+ - files/workspace/projects/.keep
131
134
  - lib/prepd.rb
132
135
  - lib/prepd/cli.rb
133
136
  - lib/prepd/cli/commands.rb
134
137
  - lib/prepd/cli/options_parser.rb
135
138
  - lib/prepd/models.rb
136
- - lib/prepd/schema.rb
139
+ - lib/prepd/models/base.rb
140
+ - lib/prepd/models/cluster.rb
141
+ - lib/prepd/models/data.rb
142
+ - lib/prepd/models/developer.rb
143
+ - lib/prepd/models/machine.rb
144
+ - lib/prepd/models/project.rb
145
+ - lib/prepd/models/setup.rb
146
+ - lib/prepd/models/workspace.rb
137
147
  - lib/prepd/version.rb
138
148
  - prepd.gemspec
139
- homepage: https://github.com/rjayroach/prepd-gem
149
+ homepage: https://github.com/rjayroach/prepd
140
150
  licenses:
141
151
  - MIT
142
152
  metadata: {}
@@ -156,7 +166,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
156
166
  version: '0'
157
167
  requirements: []
158
168
  rubyforge_project:
159
- rubygems_version: 2.5.2.1
169
+ rubygems_version: 2.7.3
160
170
  signing_key:
161
171
  specification_version: 4
162
172
  summary: An easy to use tool to create Production Ready Environments for Project Development
data/TODO.md DELETED
@@ -1,17 +0,0 @@
1
- # TODO
2
-
3
- - option to just gpg encrypt ansible-vault.txt rather than the full set of credentials
4
- - move gpg files to the project's data dir instead of user's home dir
5
- - add an option to tar, gizp and gpg the data directory as well
6
-
7
- - update prepd-project readme when cloning existing to also pull in ansible-roles
8
-
9
-
10
- - create a bootstrap.sh script that installs Ansible and dependencies, e.g. Homebrew, python, etc
11
- - add a playbook that provisions a mac or ubuntu laptop with android, packer, extras, etc
12
-
13
- - update README to document provisioning a mac (and ubuntu) from brand new:
14
- 1. git clone prepd
15
- 2. run bootstrap.sh
16
- 3. run ./laptop.yml
17
- 4. bin/console to create a client and project OR git clone a project created with prepd
data/lib/prepd/schema.rb DELETED
@@ -1,23 +0,0 @@
1
- ActiveRecord::Schema.define do
2
- unless ActiveRecord::Base.connection.data_sources.include?('clients')
3
- create_table :clients do |table|
4
- table.column :name, :string
5
- table.column :path , :string
6
- end
7
- end
8
-
9
- unless ActiveRecord::Base.connection.data_sources.include?('projects')
10
- create_table :projects do |table|
11
- table.column :client_id, :integer # foreign key <table-name-singular>_id
12
- table.column :name, :string
13
- table.column :repo_url, :string
14
- end
15
- end
16
-
17
- unless ActiveRecord::Base.connection.data_sources.include?('applications')
18
- create_table :applications do |table|
19
- table.column :project_id, :integer # foreign key <table-name-singular>_id
20
- table.column :name, :string
21
- end
22
- end
23
- end