hetzner-bootstrap 1.0.1 → 1.0.2

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.
data/.gitignore CHANGED
@@ -4,3 +4,4 @@ bin/*
4
4
  .bundle
5
5
  Gemfile.lock
6
6
  pkg/*
7
+ .rbenv-vars
data/README.md CHANGED
@@ -55,7 +55,7 @@ Warnings:
55
55
  Commercial Support available through:
56
56
  -------------------------------------
57
57
 
58
- [![Moriz GmbH](http://moriz.de/images/logo.png)](http://moriz.de/)
58
+ [![Moriz GmbH](https://moriz.de/images/logo.png)](http://moriz.de/)
59
59
 
60
60
  [Moriz GmbH, München](http://moriz.de/)
61
61
 
data/example.rb CHANGED
@@ -3,10 +3,14 @@ require "rubygems"
3
3
  require "hetzner-bootstrap"
4
4
 
5
5
  # get your API login from Hetzner's customer panel at: https://robot.your-server.de/
6
- API_USERNAME="xxx"
7
- API_PASSWORD="yyy"
6
+ # assign env variables:
7
+ # ROBOT_USER
8
+ # ROBOT_PASSWORD
9
+ #
10
+ # rbenv-tip: checkout rbenv-vars, it's awesome!
11
+ # https://github.com/sstephenson/rbenv-vars/
8
12
 
9
- bs = Hetzner::Bootstrap.new :api => Hetzner::API.new(API_USERNAME, API_PASSWORD)
13
+ bs = Hetzner::Bootstrap.new :api => Hetzner::API.new(ENV['ROBOT_USER'], ENV['ROBOT_PASSWORD'])
10
14
 
11
15
  # 2 disks, software raid 1, etc.
12
16
  template = <<EOT
@@ -14,25 +18,89 @@ DRIVE1 /dev/sda
14
18
  DRIVE2 /dev/sdb
15
19
  FORMATDRIVE2 0
16
20
 
21
+ ## ===============
22
+ ## SOFTWARE RAID:
23
+ ## ===============
24
+
25
+ ## activate software RAID? < 0 | 1 >
17
26
  SWRAID 1
27
+
28
+ ## Choose the level for the software RAID < 0 | 1 >
18
29
  SWRAIDLEVEL 1
19
30
 
31
+ ## which bootloader should be used? < lilo | grub >
20
32
  BOOTLOADER grub
21
33
 
22
34
  HOSTNAME <%= hostname %>
23
35
 
24
- PART /boot ext2 1G
36
+ ## PART <mountpoint/lvm> <filesystem/VG> <size in MB>
37
+ ##
38
+ ## * <mountpoint/lvm> mountpoint for this filesystem *OR* keyword 'lvm'
39
+ ## to use this PART as volume group (VG) for LVM
40
+ ## * <filesystem/VG> can be ext2, ext3, reiserfs, xfs, swap *OR* name
41
+ ## of the LVM volume group (VG), if this PART is a VG
42
+ ## * <size> you can use the keyword 'all' to assign all the
43
+ ## remaining space of the drive to the *last* partition.
44
+ ## you can use M/G/T for unit specification in MIB/GIB/TIB
45
+ ##
46
+ ## notes:
47
+ ## - extended partitions are created automatically
48
+ ## - '/boot' cannot be on a xfs filesystem!
49
+ ## - '/boot' cannot be on LVM!
50
+ ## - when using software RAID 0, you need a '/boot' partition
51
+
52
+ PART /boot ext2 1G
25
53
  PART lvm host 75G
26
54
  PART lvm guest all
27
55
 
56
+ #LV <VG> <name> <mount> <filesystem> <size>
28
57
  LV host root / ext3 50G
29
58
  LV host swap swap swap 5G
30
59
 
31
- IMAGE /root/images/Ubuntu-1010-maverick-64-minimal.tar.gz
60
+
61
+ ## ========================
62
+ ## OPERATING SYSTEM IMAGE:
63
+ ## ========================
64
+
65
+ ## full path to the operating system image
66
+ ## supported image sources: local dir, ftp, http, nfs
67
+ ## supported image types: tar, tar.gz, tar.bz, tar.bz2, tgz, tbz
68
+ ## examples:
69
+ #
70
+ # local: /path/to/image/filename.tar.gz
71
+ # ftp: ftp://<user>:<password>@hostname/path/to/image/filename.tar.bz2
72
+ # http: http://<user>:<password>@hostname/path/to/image/filename.tbz
73
+ # https: https://<user>:<password>@hostname/path/to/image/filename.tbz
74
+ # nfs: hostname:/path/to/image/filename.tgz
75
+
76
+ # Default images provided by hetzner as of August 2012:
77
+ # CentOS-58-32-minimal.tar.gz
78
+ # CentOS-58-64-minimal.tar.gz
79
+ # CentOS-62-32-minimal.tar.gz
80
+ # CentOS-62-64-cpanel.tar.gz
81
+ # CentOS-62-64-minimal.tar.gz
82
+ # CentOS-63-32-minimal.tar.gz
83
+ # CentOS-63-64-cpanel.tar.gz
84
+ # CentOS-63-64-minimal.tar.gz
85
+ # Debian-60-squeeze-32-minimal.tar.gz
86
+ # Debian-60-squeeze-64-LAMP.tar.gz
87
+ # Debian-60-squeeze-64-minimal.tar.gz
88
+ # openSUSE-121-32-minimal.tar.gz
89
+ # openSUSE-121-64-minimal.tar.gz
90
+ # Ubuntu-1004-lucid-32-minimal.tar.gz
91
+ # Ubuntu-1004-lucid-64-minimal.tar.gz
92
+ # Ubuntu-1204-precise-32-minimal.tar.gz
93
+ # Ubuntu-1204-precise-64-minimal.tar.gz
94
+
95
+
96
+ IMAGE /root/images/Ubuntu-1204-precise-64-minimal.tar.gz
97
+
32
98
  EOT
33
99
 
100
+ # the post_install hook is a great place to setup further software/system provisioning
101
+ #
34
102
  post_install = <<EOT
35
- knife bootstrap <%= ip %> -N <%= hostname %> "role[base],role[kvm_host]"
103
+ # knife bootstrap <%= ip %> -N <%= hostname %> "role[base],role[kvm_host]"
36
104
  EOT
37
105
 
38
106
  # duplicate entry for each system
@@ -17,6 +17,7 @@ Gem::Specification.new do |s|
17
17
  s.add_dependency 'erubis', '>= 2.6.6'
18
18
 
19
19
  s.add_development_dependency "rspec", ">= 2.4.0"
20
+ s.add_development_dependency "rake"
20
21
 
21
22
  s.files = `git ls-files`.split("\n")
22
23
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
@@ -23,7 +23,7 @@ module Hetzner
23
23
  @rescue_os = 'linux'
24
24
  @rescue_os_bit = '64'
25
25
  @retries = 0
26
- @bootstrap_cmd = '/root/.oldroot/nfs/install/installimage -a -c /tmp/template'
26
+ @bootstrap_cmd = 'export TERM=xterm; /root/.oldroot/nfs/install/installimage -a -c /tmp/template'
27
27
  @login = 'root'
28
28
 
29
29
  if tmpl = options.delete(:template)
@@ -1,5 +1,5 @@
1
1
  module Hetzner
2
2
  class Bootstrap
3
- VERSION = '1.0.1'
3
+ VERSION = '1.0.2'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,71 +1,103 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: hetzner-bootstrap
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.2
4
5
  prerelease:
5
- version: 1.0.1
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Roland Moriz
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-06-06 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2013-02-06 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: hetzner-api
17
- prerelease: false
18
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
19
17
  none: false
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
23
21
  version: 1.0.1
24
22
  type: :runtime
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
27
- name: net-ssh
28
23
  prerelease: false
29
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 1.0.1
30
+ - !ruby/object:Gem::Dependency
31
+ name: net-ssh
32
+ requirement: !ruby/object:Gem::Requirement
30
33
  none: false
31
- requirements:
32
- - - ">="
33
- - !ruby/object:Gem::Version
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
34
37
  version: 2.1.0
35
38
  type: :runtime
36
- version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
38
- name: erubis
39
39
  prerelease: false
40
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 2.1.0
46
+ - !ruby/object:Gem::Dependency
47
+ name: erubis
48
+ requirement: !ruby/object:Gem::Requirement
41
49
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
45
53
  version: 2.6.6
46
54
  type: :runtime
47
- version_requirements: *id003
48
- - !ruby/object:Gem::Dependency
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: 2.6.6
62
+ - !ruby/object:Gem::Dependency
49
63
  name: rspec
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: 2.4.0
70
+ type: :development
50
71
  prerelease: false
51
- requirement: &id004 !ruby/object:Gem::Requirement
72
+ version_requirements: !ruby/object:Gem::Requirement
52
73
  none: false
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
56
77
  version: 2.4.0
78
+ - !ruby/object:Gem::Dependency
79
+ name: rake
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
57
86
  type: :development
58
- version_requirements: *id004
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
59
94
  description: Easy bootstrapping of hetzner.de rootservers using hetzner-api
60
- email:
95
+ email:
61
96
  - roland@moriz.de
62
97
  executables: []
63
-
64
98
  extensions: []
65
-
66
99
  extra_rdoc_files: []
67
-
68
- files:
100
+ files:
69
101
  - .gitignore
70
102
  - Gemfile
71
103
  - LICENSE
@@ -80,30 +112,33 @@ files:
80
112
  - spec/hetzner_bootstrap_spec.rb
81
113
  homepage: http://moriz.de/opensource/hetzner-api
82
114
  licenses: []
83
-
84
115
  post_install_message:
85
116
  rdoc_options: []
86
-
87
- require_paths:
117
+ require_paths:
88
118
  - lib
89
- required_ruby_version: !ruby/object:Gem::Requirement
119
+ required_ruby_version: !ruby/object:Gem::Requirement
90
120
  none: false
91
- requirements:
92
- - - ">="
93
- - !ruby/object:Gem::Version
94
- version: "0"
95
- required_rubygems_version: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ! '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ segments:
126
+ - 0
127
+ hash: 4425821493245410702
128
+ required_rubygems_version: !ruby/object:Gem::Requirement
96
129
  none: false
97
- requirements:
98
- - - ">="
99
- - !ruby/object:Gem::Version
100
- version: "0"
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ segments:
135
+ - 0
136
+ hash: 4425821493245410702
101
137
  requirements: []
102
-
103
138
  rubyforge_project:
104
- rubygems_version: 1.8.3
139
+ rubygems_version: 1.8.23
105
140
  signing_key:
106
141
  specification_version: 3
107
142
  summary: Easy bootstrapping of hetzner.de rootservers using hetzner-api
108
- test_files:
143
+ test_files:
109
144
  - spec/hetzner_bootstrap_spec.rb