prepd 0.1.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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