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.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/Berksfile.lock +11 -0
  4. data/chefignore +1 -0
  5. data/cookbooks/apt/CHANGELOG.md +248 -0
  6. data/cookbooks/apt/README.md +294 -0
  7. data/cookbooks/apt/attributes/default.rb +51 -0
  8. data/cookbooks/apt/files/default/15update-stamp +1 -0
  9. data/cookbooks/apt/files/default/apt-proxy-v2.conf +50 -0
  10. data/cookbooks/apt/libraries/helpers.rb +61 -0
  11. data/cookbooks/apt/libraries/matchers.rb +17 -0
  12. data/cookbooks/apt/libraries/network.rb +31 -0
  13. data/cookbooks/apt/metadata.json +1 -0
  14. data/cookbooks/apt/providers/preference.rb +84 -0
  15. data/cookbooks/apt/providers/repository.rb +246 -0
  16. data/cookbooks/apt/recipes/cacher-client.rb +83 -0
  17. data/cookbooks/apt/recipes/cacher-ng.rb +43 -0
  18. data/cookbooks/apt/recipes/default.rb +112 -0
  19. data/cookbooks/apt/recipes/unattended-upgrades.rb +47 -0
  20. data/cookbooks/apt/resources/preference.rb +37 -0
  21. data/cookbooks/apt/resources/repository.rb +60 -0
  22. data/cookbooks/apt/templates/debian-6.0/acng.conf.erb +173 -0
  23. data/cookbooks/apt/templates/default/01proxy.erb +9 -0
  24. data/cookbooks/apt/templates/default/10recommends.erb +3 -0
  25. data/cookbooks/apt/templates/default/20auto-upgrades.erb +2 -0
  26. data/cookbooks/apt/templates/default/50unattended-upgrades.erb +68 -0
  27. data/cookbooks/apt/templates/default/acng.conf.erb +275 -0
  28. data/cookbooks/apt/templates/default/unattended-upgrades.seed.erb +1 -0
  29. data/cookbooks/apt/templates/ubuntu-10.04/acng.conf.erb +269 -0
  30. data/cookbooks/build-essential/CHANGELOG.md +136 -0
  31. data/cookbooks/build-essential/README.md +108 -0
  32. data/cookbooks/build-essential/attributes/default.rb +20 -0
  33. data/cookbooks/build-essential/libraries/matchers.rb +5 -0
  34. data/cookbooks/build-essential/libraries/timing.rb +124 -0
  35. data/cookbooks/build-essential/libraries/xcode_command_line_tools.rb +210 -0
  36. data/cookbooks/build-essential/metadata.json +1 -0
  37. data/cookbooks/build-essential/recipes/_debian.rb +28 -0
  38. data/cookbooks/build-essential/recipes/_fedora.rb +32 -0
  39. data/cookbooks/build-essential/recipes/_freebsd.rb +24 -0
  40. data/cookbooks/build-essential/recipes/_mac_os_x.rb +22 -0
  41. data/cookbooks/build-essential/recipes/_omnios.rb +33 -0
  42. data/cookbooks/build-essential/recipes/_rhel.rb +36 -0
  43. data/cookbooks/build-essential/recipes/_smartos.rb +27 -0
  44. data/cookbooks/build-essential/recipes/_solaris2.rb +48 -0
  45. data/cookbooks/build-essential/recipes/_suse.rb +29 -0
  46. data/cookbooks/build-essential/recipes/default.rb +29 -0
  47. data/cookbooks/chef-sugar/CHANGELOG.md +159 -0
  48. data/cookbooks/chef-sugar/README.md +464 -0
  49. data/cookbooks/chef-sugar/metadata.json +1 -0
  50. data/cookbooks/chef-sugar/recipes/default.rb +34 -0
  51. data/cookbooks/openssl/CHANGELOG.md +30 -0
  52. data/cookbooks/openssl/README.md +115 -0
  53. data/cookbooks/openssl/attributes/default.rb +21 -0
  54. data/cookbooks/openssl/libraries/secure_password.rb +37 -0
  55. data/cookbooks/openssl/metadata.json +31 -0
  56. data/cookbooks/openssl/providers/x509.rb +94 -0
  57. data/cookbooks/openssl/recipes/default.rb +18 -0
  58. data/cookbooks/openssl/recipes/upgrade.rb +39 -0
  59. data/cookbooks/openssl/resources/x509.rb +16 -0
  60. data/cookbooks/postgresql/CHANGELOG.md +220 -0
  61. data/cookbooks/postgresql/README.md +464 -0
  62. data/cookbooks/postgresql/attributes/default.rb +549 -0
  63. data/cookbooks/postgresql/files/default/tests/minitest/apt_pgdg_postgresql_test.rb +39 -0
  64. data/cookbooks/postgresql/files/default/tests/minitest/default_test.rb +27 -0
  65. data/cookbooks/postgresql/files/default/tests/minitest/ruby_test.rb +28 -0
  66. data/cookbooks/postgresql/files/default/tests/minitest/server_test.rb +43 -0
  67. data/cookbooks/postgresql/files/default/tests/minitest/support/helpers.rb +29 -0
  68. data/cookbooks/postgresql/libraries/default.rb +377 -0
  69. data/cookbooks/postgresql/metadata.json +56 -0
  70. data/cookbooks/postgresql/recipes/apt_pgdg_postgresql.rb +18 -0
  71. data/cookbooks/postgresql/recipes/client.rb +32 -0
  72. data/cookbooks/postgresql/recipes/config_initdb.rb +148 -0
  73. data/cookbooks/postgresql/recipes/config_pgtune.rb +284 -0
  74. data/cookbooks/postgresql/recipes/contrib.rb +44 -0
  75. data/cookbooks/postgresql/recipes/default.rb +18 -0
  76. data/cookbooks/postgresql/recipes/ruby.rb +117 -0
  77. data/cookbooks/postgresql/recipes/server.rb +89 -0
  78. data/cookbooks/postgresql/recipes/server_conf.rb +34 -0
  79. data/cookbooks/postgresql/recipes/server_debian.rb +38 -0
  80. data/cookbooks/postgresql/recipes/server_redhat.rb +100 -0
  81. data/cookbooks/postgresql/recipes/yum_pgdg_postgresql.rb +45 -0
  82. data/cookbooks/postgresql/templates/default/pg_hba.conf.erb +35 -0
  83. data/cookbooks/postgresql/templates/default/pgsql.sysconfig.erb +4 -0
  84. data/cookbooks/postgresql/templates/default/postgresql.conf.erb +21 -0
  85. data/cookbooks/scratchify/.chef/knife.rb +2 -5
  86. data/cookbooks/scratchify/Berksfile +2 -1
  87. data/cookbooks/scratchify/Berksfile.lock +11 -0
  88. data/cookbooks/scratchify/README.md +34 -17
  89. data/cookbooks/scratchify/bin/scratchify +1 -1
  90. data/cookbooks/scratchify/chefignore +1 -0
  91. data/cookbooks/scratchify/from-scratch.gemspec +2 -5
  92. data/cookbooks/scratchify/lib/from-scratch.rb +25 -0
  93. data/cookbooks/scratchify/lib/{from/scratch → from-scratch}/version.rb +1 -1
  94. data/cookbooks/scratchify/metadata.json +2 -1
  95. data/cookbooks/scratchify/templates/node.json.erb +34 -0
  96. data/cookbooks/scratchify/templates/user.json.erb +6 -0
  97. data/lib/from-scratch.rb +2 -2
  98. data/lib/from-scratch/version.rb +1 -1
  99. data/templates/node.json.erb +6 -3
  100. metadata +85 -10
  101. data/cookbooks/scratchify/bin/console +0 -14
  102. data/cookbooks/scratchify/bin/setup +0 -7
  103. data/cookbooks/scratchify/data_bags/users/deploy.json +0 -6
  104. data/cookbooks/scratchify/environments/.gitkeep +0 -0
  105. data/cookbooks/scratchify/lib/from/scratch.rb +0 -31
  106. data/cookbooks/scratchify/lib/from/scratch/interviewer.rb +0 -35
  107. data/cookbooks/scratchify/nodes/normfood.ru.json +0 -75
  108. 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,7 +0,0 @@
1
- #!/bin/bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
-
5
- bundle install
6
-
7
- # Do any other automated setup that you need to do here
@@ -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
- }
@@ -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