packerman 0.2.0 → 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.
- checksums.yaml +4 -4
- data/README.md +12 -7
- data/lib/packerman.rb +2 -0
- data/lib/packerman/dsl/builders.rb +32 -0
- data/lib/packerman/dsl/builders/amazon_chroot.rb +1 -3
- data/lib/packerman/dsl/builders/amazon_ebs.rb +0 -2
- data/lib/packerman/dsl/builders/amazon_instance.rb +0 -2
- data/lib/packerman/dsl/builders/docker.rb +0 -2
- data/lib/packerman/dsl/builders/googlecompute.rb +31 -0
- data/lib/packerman/dsl/builders/null.rb +15 -0
- data/lib/packerman/dsl/provisioners.rb +1 -0
- data/lib/packerman/dsl/provisioners/chef_solo.rb +1 -3
- data/lib/packerman/dsl/provisioners/shell.rb +1 -1
- data/lib/packerman/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a9dba12922abd2accd2f77141c149986a2366421
|
4
|
+
data.tar.gz: 954ae732fff925d43fe9722240f362b160cb9d58
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ea78c21a244bc89bd70adb5ad901f51b5cd895dfbac7da9f4123d496ffbab4d38b463e2997b5e45449a637b021a1fd4235f257f3d043f6d55848296592587844
|
7
|
+
data.tar.gz: 1d6149f487739d34073b1afa14e7e4ace64884e9bfcb3f2f99fdc9ba927deeefe6962c28160c88518ad534ec28742c73058e2fd5c60c99e22307a4cb798a36cd
|
data/README.md
CHANGED
@@ -9,23 +9,22 @@ Ruby DSL for Packer by HashiCorp.
|
|
9
9
|
Packerman is converter ruby DSL to Packer template.<br>
|
10
10
|
Currently, Packerman is supporting these template structures.
|
11
11
|
|
12
|
-
### Builders
|
12
|
+
### Builders (contains full communicator support)
|
13
13
|
* amazon-ebs
|
14
14
|
* amazon-instance
|
15
15
|
* amazon-chroot
|
16
16
|
* docker
|
17
|
+
* googlecompute
|
18
|
+
* null
|
17
19
|
|
18
20
|
### Provisioners
|
19
21
|
* shell
|
20
22
|
* chef-solo
|
21
23
|
|
22
|
-
|
23
|
-
|
24
|
-
use this command to convert DSL.
|
24
|
+
### Variables
|
25
|
+
* variables are also supported
|
25
26
|
|
26
|
-
|
27
|
-
$ bundle exec packerman <filename>
|
28
|
-
```
|
27
|
+
# DSL
|
29
28
|
|
30
29
|
Here is DSL sample.
|
31
30
|
|
@@ -40,6 +39,12 @@ Provisioners type: "shell" do
|
|
40
39
|
end
|
41
40
|
```
|
42
41
|
|
42
|
+
then, use this command to convert DSL.
|
43
|
+
|
44
|
+
```
|
45
|
+
$ bundle exec packerman <filename>
|
46
|
+
```
|
47
|
+
|
43
48
|
```json:sample.json
|
44
49
|
{
|
45
50
|
"builders": [
|
data/lib/packerman.rb
CHANGED
@@ -15,6 +15,8 @@ require 'packerman/dsl/builders/amazon_ebs'
|
|
15
15
|
require 'packerman/dsl/builders/amazon_instance'
|
16
16
|
require 'packerman/dsl/builders/amazon_chroot'
|
17
17
|
require 'packerman/dsl/builders/docker'
|
18
|
+
require 'packerman/dsl/builders/googlecompute'
|
19
|
+
require 'packerman/dsl/builders/null'
|
18
20
|
require 'packerman/dsl/provisioners'
|
19
21
|
require 'packerman/dsl/provisioners/shell'
|
20
22
|
require 'packerman/dsl/provisioners/chef_solo'
|
@@ -1,2 +1,34 @@
|
|
1
1
|
class Packerman::Dsl::Builders < Packerman::Dsl
|
2
|
+
include Packerman::Dsl::Node
|
3
|
+
|
4
|
+
class << self
|
5
|
+
def hash_key
|
6
|
+
[:type] + require_keys + optional_keys + communicator_keys
|
7
|
+
end
|
8
|
+
|
9
|
+
def communicator_keys
|
10
|
+
[
|
11
|
+
:communicator,
|
12
|
+
:ssh_host,
|
13
|
+
:ssh_port,
|
14
|
+
:ssh_username,
|
15
|
+
:ssh_password,
|
16
|
+
:ssh_private_key_file,
|
17
|
+
:ssh_pty,
|
18
|
+
:ssh_timeout,
|
19
|
+
:ssh_handshake_attempts,
|
20
|
+
:ssh_disable_agent,
|
21
|
+
:ssh_bastion_host,
|
22
|
+
:ssh_bastion_port,
|
23
|
+
:ssh_bastion_username,
|
24
|
+
:ssh_bastion_password,
|
25
|
+
:ssh_bastion_private_key_file,
|
26
|
+
:winrm_host,
|
27
|
+
:winrm_port,
|
28
|
+
:winrm_username,
|
29
|
+
:winrm_password,
|
30
|
+
:winrm_timeout
|
31
|
+
]
|
32
|
+
end
|
33
|
+
end
|
2
34
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
class Packerman::Dsl::Builders::Googlecompute < Packerman::Dsl::Builders
|
2
|
+
def type
|
3
|
+
"googlecompute"
|
4
|
+
end
|
5
|
+
|
6
|
+
class << self
|
7
|
+
def require_keys
|
8
|
+
[
|
9
|
+
:project_id,
|
10
|
+
:source_image,
|
11
|
+
:zone
|
12
|
+
]
|
13
|
+
end
|
14
|
+
|
15
|
+
def optional_keys
|
16
|
+
[
|
17
|
+
:account_file,
|
18
|
+
:disk_size,
|
19
|
+
:image_name,
|
20
|
+
:image_description,
|
21
|
+
:instance_name,
|
22
|
+
:machine_type,
|
23
|
+
:metadata,
|
24
|
+
:network,
|
25
|
+
:state_timeout,
|
26
|
+
:tags,
|
27
|
+
:use_internal_ip
|
28
|
+
]
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
data/lib/packerman/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: packerman
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Masashi AKISUE
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-11-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -92,6 +92,8 @@ files:
|
|
92
92
|
- lib/packerman/dsl/builders/amazon_ebs.rb
|
93
93
|
- lib/packerman/dsl/builders/amazon_instance.rb
|
94
94
|
- lib/packerman/dsl/builders/docker.rb
|
95
|
+
- lib/packerman/dsl/builders/googlecompute.rb
|
96
|
+
- lib/packerman/dsl/builders/null.rb
|
95
97
|
- lib/packerman/dsl/hash_object.rb
|
96
98
|
- lib/packerman/dsl/node.rb
|
97
99
|
- lib/packerman/dsl/provisioners.rb
|
@@ -127,3 +129,4 @@ signing_key:
|
|
127
129
|
specification_version: 4
|
128
130
|
summary: Ruby DSL for Packer(www.packer.io)
|
129
131
|
test_files: []
|
132
|
+
has_rdoc:
|