from-scratch 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/Berksfile.lock +11 -0
- data/chefignore +1 -0
- data/cookbooks/apt/CHANGELOG.md +248 -0
- data/cookbooks/apt/README.md +294 -0
- data/cookbooks/apt/attributes/default.rb +51 -0
- data/cookbooks/apt/files/default/15update-stamp +1 -0
- data/cookbooks/apt/files/default/apt-proxy-v2.conf +50 -0
- data/cookbooks/apt/libraries/helpers.rb +61 -0
- data/cookbooks/apt/libraries/matchers.rb +17 -0
- data/cookbooks/apt/libraries/network.rb +31 -0
- data/cookbooks/apt/metadata.json +1 -0
- data/cookbooks/apt/providers/preference.rb +84 -0
- data/cookbooks/apt/providers/repository.rb +246 -0
- data/cookbooks/apt/recipes/cacher-client.rb +83 -0
- data/cookbooks/apt/recipes/cacher-ng.rb +43 -0
- data/cookbooks/apt/recipes/default.rb +112 -0
- data/cookbooks/apt/recipes/unattended-upgrades.rb +47 -0
- data/cookbooks/apt/resources/preference.rb +37 -0
- data/cookbooks/apt/resources/repository.rb +60 -0
- data/cookbooks/apt/templates/debian-6.0/acng.conf.erb +173 -0
- data/cookbooks/apt/templates/default/01proxy.erb +9 -0
- data/cookbooks/apt/templates/default/10recommends.erb +3 -0
- data/cookbooks/apt/templates/default/20auto-upgrades.erb +2 -0
- data/cookbooks/apt/templates/default/50unattended-upgrades.erb +68 -0
- data/cookbooks/apt/templates/default/acng.conf.erb +275 -0
- data/cookbooks/apt/templates/default/unattended-upgrades.seed.erb +1 -0
- data/cookbooks/apt/templates/ubuntu-10.04/acng.conf.erb +269 -0
- data/cookbooks/build-essential/CHANGELOG.md +136 -0
- data/cookbooks/build-essential/README.md +108 -0
- data/cookbooks/build-essential/attributes/default.rb +20 -0
- data/cookbooks/build-essential/libraries/matchers.rb +5 -0
- data/cookbooks/build-essential/libraries/timing.rb +124 -0
- data/cookbooks/build-essential/libraries/xcode_command_line_tools.rb +210 -0
- data/cookbooks/build-essential/metadata.json +1 -0
- data/cookbooks/build-essential/recipes/_debian.rb +28 -0
- data/cookbooks/build-essential/recipes/_fedora.rb +32 -0
- data/cookbooks/build-essential/recipes/_freebsd.rb +24 -0
- data/cookbooks/build-essential/recipes/_mac_os_x.rb +22 -0
- data/cookbooks/build-essential/recipes/_omnios.rb +33 -0
- data/cookbooks/build-essential/recipes/_rhel.rb +36 -0
- data/cookbooks/build-essential/recipes/_smartos.rb +27 -0
- data/cookbooks/build-essential/recipes/_solaris2.rb +48 -0
- data/cookbooks/build-essential/recipes/_suse.rb +29 -0
- data/cookbooks/build-essential/recipes/default.rb +29 -0
- data/cookbooks/chef-sugar/CHANGELOG.md +159 -0
- data/cookbooks/chef-sugar/README.md +464 -0
- data/cookbooks/chef-sugar/metadata.json +1 -0
- data/cookbooks/chef-sugar/recipes/default.rb +34 -0
- data/cookbooks/openssl/CHANGELOG.md +30 -0
- data/cookbooks/openssl/README.md +115 -0
- data/cookbooks/openssl/attributes/default.rb +21 -0
- data/cookbooks/openssl/libraries/secure_password.rb +37 -0
- data/cookbooks/openssl/metadata.json +31 -0
- data/cookbooks/openssl/providers/x509.rb +94 -0
- data/cookbooks/openssl/recipes/default.rb +18 -0
- data/cookbooks/openssl/recipes/upgrade.rb +39 -0
- data/cookbooks/openssl/resources/x509.rb +16 -0
- data/cookbooks/postgresql/CHANGELOG.md +220 -0
- data/cookbooks/postgresql/README.md +464 -0
- data/cookbooks/postgresql/attributes/default.rb +549 -0
- data/cookbooks/postgresql/files/default/tests/minitest/apt_pgdg_postgresql_test.rb +39 -0
- data/cookbooks/postgresql/files/default/tests/minitest/default_test.rb +27 -0
- data/cookbooks/postgresql/files/default/tests/minitest/ruby_test.rb +28 -0
- data/cookbooks/postgresql/files/default/tests/minitest/server_test.rb +43 -0
- data/cookbooks/postgresql/files/default/tests/minitest/support/helpers.rb +29 -0
- data/cookbooks/postgresql/libraries/default.rb +377 -0
- data/cookbooks/postgresql/metadata.json +56 -0
- data/cookbooks/postgresql/recipes/apt_pgdg_postgresql.rb +18 -0
- data/cookbooks/postgresql/recipes/client.rb +32 -0
- data/cookbooks/postgresql/recipes/config_initdb.rb +148 -0
- data/cookbooks/postgresql/recipes/config_pgtune.rb +284 -0
- data/cookbooks/postgresql/recipes/contrib.rb +44 -0
- data/cookbooks/postgresql/recipes/default.rb +18 -0
- data/cookbooks/postgresql/recipes/ruby.rb +117 -0
- data/cookbooks/postgresql/recipes/server.rb +89 -0
- data/cookbooks/postgresql/recipes/server_conf.rb +34 -0
- data/cookbooks/postgresql/recipes/server_debian.rb +38 -0
- data/cookbooks/postgresql/recipes/server_redhat.rb +100 -0
- data/cookbooks/postgresql/recipes/yum_pgdg_postgresql.rb +45 -0
- data/cookbooks/postgresql/templates/default/pg_hba.conf.erb +35 -0
- data/cookbooks/postgresql/templates/default/pgsql.sysconfig.erb +4 -0
- data/cookbooks/postgresql/templates/default/postgresql.conf.erb +21 -0
- data/cookbooks/scratchify/.chef/knife.rb +2 -5
- data/cookbooks/scratchify/Berksfile +2 -1
- data/cookbooks/scratchify/Berksfile.lock +11 -0
- data/cookbooks/scratchify/README.md +34 -17
- data/cookbooks/scratchify/bin/scratchify +1 -1
- data/cookbooks/scratchify/chefignore +1 -0
- data/cookbooks/scratchify/from-scratch.gemspec +2 -5
- data/cookbooks/scratchify/lib/from-scratch.rb +25 -0
- data/cookbooks/scratchify/lib/{from/scratch → from-scratch}/version.rb +1 -1
- data/cookbooks/scratchify/metadata.json +2 -1
- data/cookbooks/scratchify/templates/node.json.erb +34 -0
- data/cookbooks/scratchify/templates/user.json.erb +6 -0
- data/lib/from-scratch.rb +2 -2
- data/lib/from-scratch/version.rb +1 -1
- data/templates/node.json.erb +6 -3
- metadata +85 -10
- data/cookbooks/scratchify/bin/console +0 -14
- data/cookbooks/scratchify/bin/setup +0 -7
- data/cookbooks/scratchify/data_bags/users/deploy.json +0 -6
- data/cookbooks/scratchify/environments/.gitkeep +0 -0
- data/cookbooks/scratchify/lib/from/scratch.rb +0 -31
- data/cookbooks/scratchify/lib/from/scratch/interviewer.rb +0 -35
- data/cookbooks/scratchify/nodes/normfood.ru.json +0 -75
- data/cookbooks/scratchify/roles/.gitkeep +0 -0
@@ -1,14 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require "bundler/setup"
|
4
|
-
require "from/scratch"
|
5
|
-
|
6
|
-
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
-
# with your gem easier. You can also use a different console, if you like.
|
8
|
-
|
9
|
-
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
-
# require "pry"
|
11
|
-
# Pry.start
|
12
|
-
|
13
|
-
require "irb"
|
14
|
-
IRB.start
|
@@ -1,6 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"id": "deploy",
|
3
|
-
"name": "deploy",
|
4
|
-
"groups": ["deploy"],
|
5
|
-
"ssh_keys": ["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDA0w9lFxWQta1H3pNvqvGtKTfdBahIMp9iqmxzDbwbMRZDuJ3ANNeHxebGP6F4pfjOoI9t/+l1ljgRbAXCEgi/klhjj7TMzGalzOBy5kOFfZlZO4km5wiM1QXPtgXhqe4qcnzNQkSTbh3+0h6arGV0fiHOa5Nc3hv3mnBce0M6PCpbK/PGYfc5/TJrvuMwd6K9vLUgFsiQ1vph6mncoAh0QHfbzKmDi86YyzwCyzxwwFz/ZCaYwxf11fAkydm6sNX9VxOqE16LjycFN1khe9xEyQ/wGP7uIH3LGR2VcHAPFxoaTAssyJtiF5WpNQXGCX3SyyBZf9lHjb0RP4IzYJvp gearhead@gearhead-desktop"]
|
6
|
-
}
|
File without changes
|
@@ -1,31 +0,0 @@
|
|
1
|
-
require 'pry'
|
2
|
-
|
3
|
-
require 'active_support'
|
4
|
-
require 'active_support/core_ext/object'
|
5
|
-
|
6
|
-
require 'sshkit'
|
7
|
-
|
8
|
-
require 'from/scratch/version'
|
9
|
-
require 'from/scratch/interviewer'
|
10
|
-
|
11
|
-
module FromScratch
|
12
|
-
def self.run!
|
13
|
-
Interviewer.greetings
|
14
|
-
|
15
|
-
host = Interviewer.get_host
|
16
|
-
|
17
|
-
if host != 'localhost'
|
18
|
-
`ssh-copy-id root@#{host}`
|
19
|
-
root_host = SSHKit::Host.new "root@#{host}"
|
20
|
-
else
|
21
|
-
root_host = SSHKit::Host.new :local
|
22
|
-
end
|
23
|
-
|
24
|
-
SSHKit::Coordinator.new([root_host]).each do |host|
|
25
|
-
execute 'adduser deploy --gecos "" --disabled-password'
|
26
|
-
execute 'mkdir -p /home/deploy/.ssh/'
|
27
|
-
execute 'cp -R ~/.ssh/authorized_keys /home/deploy/.ssh/'
|
28
|
-
execute 'chown -R deploy:deploy /home/deploy/'
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
@@ -1,35 +0,0 @@
|
|
1
|
-
require 'colorize'
|
2
|
-
|
3
|
-
module FromScratch
|
4
|
-
module Interviewer
|
5
|
-
class << self
|
6
|
-
def greetings
|
7
|
-
puts "Greetings, master! Let's make some magic.".blue
|
8
|
-
end
|
9
|
-
|
10
|
-
def get_host
|
11
|
-
ask 'Please enter address of your server:', default: 'localhost'
|
12
|
-
end
|
13
|
-
|
14
|
-
private
|
15
|
-
|
16
|
-
def ask(str, default: nil, default_str: nil, variants: [])
|
17
|
-
puts
|
18
|
-
puts str.yellow
|
19
|
-
if variants.any?
|
20
|
-
puts "[#{variants.map(&:yellow).join ' | '}]"
|
21
|
-
while !variants.include?(answer = gets.strip)
|
22
|
-
puts "not recognized".red
|
23
|
-
end
|
24
|
-
answer
|
25
|
-
else
|
26
|
-
if default || default_str
|
27
|
-
puts "[#{default_str ? default_str : "leave blank for #{default.yellow}"}]"
|
28
|
-
end
|
29
|
-
answer = gets.strip
|
30
|
-
default && answer.blank? ? default : answer
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
@@ -1,75 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"run_list": [
|
3
|
-
"recipe[user::data_bag]",
|
4
|
-
"recipe[rvm::system]",
|
5
|
-
"recipe[scratchify]"//,
|
6
|
-
//"recipe[apt]",
|
7
|
-
// "recipe[ssh-hardening]",
|
8
|
-
// "recipe[dpkg_packages]",
|
9
|
-
// "recipe[postgresql::server]",
|
10
|
-
// "recipe[postgresql::contrib]",
|
11
|
-
// "recipe[postgresql::libpq]",
|
12
|
-
// "recipe[nginx::server]",
|
13
|
-
// "recipe[rvm::user]",
|
14
|
-
],
|
15
|
-
|
16
|
-
"users": ["deploy"],
|
17
|
-
|
18
|
-
"automatic": {
|
19
|
-
"ipaddress": "normfood.ru"
|
20
|
-
}//,
|
21
|
-
|
22
|
-
// //"set_fqdn": "<myhostname>",
|
23
|
-
|
24
|
-
// "dpkg_packages": {
|
25
|
-
// "pkgs": {
|
26
|
-
// "tzdata" : { "action": "upgrade" }//,
|
27
|
-
// // "nodejs-dev" : { "action": "install" },
|
28
|
-
// // "imagemagick": { "action": "install" },
|
29
|
-
// // "htop" : { "action": "install" }
|
30
|
-
// }
|
31
|
-
// },
|
32
|
-
|
33
|
-
// // Select Timezone you want to configure
|
34
|
-
// // "tz": "America/Santiago",
|
35
|
-
|
36
|
-
// // Postgresql configuration. You can create several users.
|
37
|
-
// "postgresql": {
|
38
|
-
// "shared_buffers": "256MB", // 1/4 of total memory is recommended
|
39
|
-
// "shared_preload_libraries": "pg_stat_statements",
|
40
|
-
// "users": [
|
41
|
-
// {
|
42
|
-
// "username": "deploy",
|
43
|
-
// "password": "123456",
|
44
|
-
// "superuser": true,
|
45
|
-
// "login": true
|
46
|
-
// }
|
47
|
-
// ]
|
48
|
-
// },
|
49
|
-
|
50
|
-
// // Nginx default values configuration.
|
51
|
-
// // Also you can specify your default site configuration.
|
52
|
-
// "nginx": {
|
53
|
-
// "user" : "deploy",
|
54
|
-
// "client_max_body_size": "2m",
|
55
|
-
// "worker_processes" : "auto",
|
56
|
-
// "worker_connections" : 768,
|
57
|
-
// "repository" : "ppa",
|
58
|
-
// "site" : {
|
59
|
-
// "host" : "<myhostname>",
|
60
|
-
// "upstream_ports" : ["3000"],
|
61
|
-
// "ip" : "0.0.0.0",
|
62
|
-
// "listen" : "80"
|
63
|
-
// }
|
64
|
-
// },
|
65
|
-
|
66
|
-
// // The default ruby version and gemset you’re going to use and rvm user.
|
67
|
-
// "rvm" : {
|
68
|
-
// "user_installs": [
|
69
|
-
// {
|
70
|
-
// "user" : "deploy",
|
71
|
-
// "default_ruby" : "<ruby-version>@<gemset>"
|
72
|
-
// }
|
73
|
-
// ]
|
74
|
-
// }
|
75
|
-
}
|
File without changes
|