ansible-role 0.2.0 → 1.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7f1cf7d575a1bb920b0f57499836483d8c570c01
4
- data.tar.gz: 075233d62a814983654a189e0b4a50a316e2a9e1
3
+ metadata.gz: 48e3658dd970690e8ce5b234e26952eb65e27a4f
4
+ data.tar.gz: bd1f9cd75e037ff472e35bef3f3f0238f65e2b9f
5
5
  SHA512:
6
- metadata.gz: b81de9728a240695b65a62ecbc03420de61ec530a5cd576dd830c0463ed30beaedbeb54e4b70d52c7aced63ea8a0448706db2f805544493ca12801c1224fab5c
7
- data.tar.gz: 51448b9b894718146ef9ec57246f095f18461ed90258bd0ac01325f6b9ff504594c0aee6d0fb88069f5d3991a275c1908eb557c82cccf186b11b9a6b3ef662c0
6
+ metadata.gz: b045b4d110bae1efd69b31a44378e4c63bc0277676b9069b1ce90da1819de16099d15e5a07855820ff0059021b67e9dace36d63415864195a9c0e7c3791af633
7
+ data.tar.gz: 5c5e6217a12f8b3785315203949d62dbdfec635941ddb4df052d89c90fe0671e7a0dbd9f060b06c25624f55efeb0023243306b53a4eb7f344cba4b33bda92c3a
@@ -0,0 +1,2 @@
1
+ /bin
2
+ /pkg
data/.gitignore CHANGED
@@ -1,8 +1,3 @@
1
- .*
2
- *~
1
+ .DS_Store
2
+ /bin/
3
3
  /pkg/
4
- !.empty_directory
5
- !.editorconfig
6
- !.travis.yml
7
- !.clog.toml
8
- !.git*
@@ -1,3 +1,20 @@
1
+ <a name="v1.0.0"></a>
2
+ ## v1.0.0 (2016-02-18)
3
+
4
+
5
+ #### Features
6
+
7
+ * remove sudo: yes from test ([bee6998e](https://github.com/weareinteractive/gem-ansible-role/commit/bee6998e061770d22a3308e060a3bb5e20294bcc))
8
+ * sync travis tests with ansible-galaxy init ([4ec83a74](https://github.com/weareinteractive/gem-ansible-role/commit/4ec83a741909d0073fbf99d21e99e8a5ed670292))
9
+ * **init:**
10
+ * add all variables to generated readme.yml ([75200e51](https://github.com/weareinteractive/gem-ansible-role/commit/75200e5132c17501875a9653a0ea37711715a456))
11
+ * remove galaxy user prompt due to galaxy's organization support ([e69f577a](https://github.com/weareinteractive/gem-ansible-role/commit/e69f577ad16355b3dbae86c560daa43ca230dc44))
12
+ * refactor ansible badge to new url ([cc49bba1](https://github.com/weareinteractive/gem-ansible-role/commit/cc49bba1a4c1f7729b33799e908b2dfdc7bf2f81))
13
+ * add files directory ([0798b907](https://github.com/weareinteractive/gem-ansible-role/commit/0798b907393ae38622b04703c3a62bd6cdf1d357))
14
+ * simpler gitignore ([958fbf33](https://github.com/weareinteractive/gem-ansible-role/commit/958fbf33c6dac82902d736c3b9c6fedc0fa84b5c))
15
+
16
+
17
+
1
18
  <a name="v0.2.0"></a>
2
19
  ## v0.2.0 (2015-12-08)
3
20
 
@@ -1,12 +1,14 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ansible-role (1.0.0)
4
+ ansible-role (0.2.0)
5
+ git
5
6
  thor
6
7
 
7
8
  GEM
8
9
  remote: https://rubygems.org/
9
10
  specs:
11
+ git (1.2.9.1)
10
12
  rake (10.4.2)
11
13
  thor (0.19.1)
12
14
 
@@ -17,3 +19,6 @@ DEPENDENCIES
17
19
  ansible-role!
18
20
  bundler
19
21
  rake
22
+
23
+ BUNDLED WITH
24
+ 1.10.6
data/README.md CHANGED
@@ -5,20 +5,20 @@
5
5
  [![GitHub Stars](https://img.shields.io/github/stars/weareinteractive/gem-ansible-role.svg)](https://github.com/weareinteractive/gem-ansible-role)
6
6
 
7
7
 
8
- > Gem with some useful Ansible role command line tools.
8
+ > Ansible role command line tool for.
9
9
  >
10
- > * Initialize new ansible roles
11
- > * Re-Generate README.md
10
+ > * Initialize a new Ansible role
11
+ > * Re-Generating README.md
12
12
 
13
13
  ## Installation
14
14
 
15
- ```
15
+ ```bash
16
16
  $ gem install ansible-role
17
17
  ```
18
18
 
19
19
  ## Usage
20
20
 
21
- ```
21
+ ```bash
22
22
  $ ansible-role
23
23
  Commands:
24
24
  ansible-role docgen # Generate README file
@@ -26,6 +26,93 @@ Commands:
26
26
  ansible-role init # Initialize new role
27
27
  ```
28
28
 
29
+ ### Init
30
+
31
+ `ansible-role init` generates a role skeleton including:
32
+
33
+ * [`Travis`](https://travis-ci.org): for testing
34
+ * [`Vagrant`](http://www.vagrantup.com): for local testing
35
+ * [`clog-cli`](https://github.com/clog-tool/clog-cli): for CHANGELOG generation
36
+ * [`.editorconfig`](http://editorconfig.org/): for consistent code
37
+
38
+ ```bash
39
+ $ mkdir my-role
40
+ $ cd my-role
41
+ $ ansible-role init
42
+
43
+ To generate your role, please give me some info about:
44
+
45
+ • Author
46
+ Name [franklin <franklin@weareinteractive.com>]: franklin <franklin@weareinteractive.com
47
+ Company: We Are Interactive
48
+
49
+ • Role
50
+ Name [my-role]: my-role
51
+ Description [Best role ever!]: My best role ever!
52
+ Category [development]: system
53
+ Min ansible version [2.0]: 2.0
54
+
55
+ • GitHub
56
+ User/Organization [franklin]: weareinteractive
57
+ Repository [barfoo]: ansible-my-role
58
+
59
+ exist
60
+ create .clog.toml
61
+ create .editorconfig
62
+ create .gitignore
63
+ create .travis.yml
64
+ create CHANGELOG.md
65
+ create LICENSE
66
+ create Vagrantfile
67
+ create defaults/main.yml
68
+ create handlers/main.yml
69
+ create meta/main.yml
70
+ create meta/readme.yml
71
+ create tasks/config.yml
72
+ create tasks/install.yml
73
+ create tasks/main.yml
74
+ create tasks/manage.yml
75
+ create tasks/service.yml
76
+ create templates/etc/my-role.conf.j2
77
+ create tests/main.yml
78
+ create vars/main.yml
79
+ create README.md
80
+ ```
81
+
82
+ ### Docgen
83
+
84
+ `ansible-role docgen` generates a `README.md` file frrom `meta/readme.yml` and your role files:
85
+
86
+ ```bash
87
+ $ cd my-role
88
+ $ ansible-role docgen
89
+
90
+ ```
91
+
92
+ You can configure the generated README through these variables:
93
+
94
+ ```yaml
95
+ ---
96
+ galaxy_name: weareinteractive.my-role
97
+ github_user: weareinteractive
98
+ github_name: ansible-my-role
99
+ badges: |
100
+ [![Build Status](https://img.shields.io/travis/weareinteractive/ansible-my-role.svg)](https://travis-ci.org/weareinteractive/ansible-my-role)
101
+ [![Galaxy](http://img.shields.io/badge/galaxy-weareinteractive.my-role-blue.svg)](https://galaxy.ansible.com/weareinteractive/my-role)
102
+ [![GitHub Tags](https://img.shields.io/github/tag/weareinteractive/ansible-my-role.svg)](https://github.com/weareinteractive/ansible-my-role)
103
+ [![GitHub Stars](https://img.shields.io/github/stars/weareinteractive/ansible-my-role.svg)](https://github.com/weareinteractive/ansible-my-role)
104
+ description: |
105
+ > * installs foo
106
+ > * configures foo
107
+ after_dependencies: |
108
+ * foo dependency
109
+ * bar dependency
110
+ after_handlers: |
111
+ ## Rules
112
+
113
+ Some other important section...
114
+ ```
115
+
29
116
  ## Contributing
30
117
  In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality.
31
118
 
@@ -36,21 +36,17 @@ module Ansible
36
36
  @data[:name] = prompt " Name", "my-role", true
37
37
  @data[:description] = prompt " Description", "Best role ever!", true
38
38
  @data[:category] = prompt " Category", "development", true
39
- @data[:min_ansible_version] = prompt " Min ansible version", "1.9", true
39
+ @data[:min_ansible_version] = prompt " Min ansible version", "2.0", true
40
40
  @data[:var_name] = @data[:name].sub("-", "_")
41
41
  puts ""
42
42
 
43
43
  say "• GitHub", :yellow
44
- @data[:github_user] = prompt " User", g.config('user.name'), true
44
+ @data[:github_user] = prompt " User/Organization", g.config('user.name'), true
45
45
  @data[:github_name] = prompt " Repository", File.basename(Dir.getwd)
46
46
  @data[:github_path] = "#{@data[:github_user]}/#{@data[:github_name]}"
47
47
  puts ""
48
48
 
49
- say "• Ansible Galaxy", :yellow
50
- @data[:galaxy_user] = prompt " User", ENV['username']
51
- puts ""
52
-
53
- @data[:role_name] = "#{@data[:galaxy_user]}.#{@data[:name]}"
49
+ @data[:role_name] = "#{@data[:github_user]}.#{@data[:name]}"
54
50
 
55
51
  # render templates
56
52
  directory "templates/ansible/role/init", Dir.getwd
@@ -1,5 +1,5 @@
1
1
  module Ansible
2
2
  module Role
3
- VERSION = "0.2.0"
3
+ VERSION = "1.0.0"
4
4
  end
5
5
  end
@@ -0,0 +1,4 @@
1
+ [clog]
2
+ changelog = "CHANGELOG.md"
3
+ repository = "https://github.com/<%= @data[:github_path] %>"
4
+ from-latest-tag = true
@@ -1,6 +1,2 @@
1
- .*
2
- *~
3
- !.editorconfig
4
- !.travis.yml
5
- !.clog.toml
6
- !.git*
1
+ .DS_Store
2
+ .vagrant
@@ -0,0 +1,39 @@
1
+ ---
2
+ language: python
3
+ python: "2.7"
4
+
5
+ # Use the new container infrastructure
6
+ sudo: false
7
+
8
+ # Install ansible
9
+ addons:
10
+ apt:
11
+ packages:
12
+ - python-pip
13
+
14
+ install:
15
+ # Install ansible
16
+ - pip install ansible
17
+
18
+ # Check ansible version
19
+ - ansible --version
20
+
21
+ # Create inventory file
22
+ - printf 'localhost' > tests/inventory
23
+
24
+ # Create ansible.cfg with correct roles_path
25
+ - printf '[defaults]\nroles_path=../' > ansible.cfg
26
+
27
+ # Create role name symlink
28
+ - ln -s ./ ../<%= @data[:role_name] %>
29
+
30
+ script:
31
+ # Basic role syntax check
32
+ - ansible-playbook -i tests/inventory tests/main.yml --syntax-check
33
+ # TODO run ansible lint
34
+ # - ansible-lint -L tests/inventory
35
+ # Run test playbooke
36
+ - ansible-playbook -i tests/inventory tests/main.yml
37
+
38
+ notifications:
39
+ webhooks: https://galaxy.ansible.com/api/v1/notifications/
@@ -5,7 +5,7 @@ github_user: <%= @data[:github_user] %>
5
5
  github_name: <%= @data[:github_name] %>
6
6
  badges: |
7
7
  [![Build Status](https://img.shields.io/travis/<%= @data[:github_path] %>.svg)](https://travis-ci.org/<%= @data[:github_path] %>)
8
- [![Galaxy](http://img.shields.io/badge/galaxy-<%= @data[:role_name] %>-blue.svg)](https://galaxy.ansible.com/list#/roles/<%= @data[:galaxy_id] %>)
8
+ [![Galaxy](http://img.shields.io/badge/galaxy-<%= @data[:role_name] %>-role-blue.svg)](https://galaxy.ansible.com/<%= @data[:github_user] %>/<%= @data[:name] %>)
9
9
  [![GitHub Tags](https://img.shields.io/github/tag/<%= @data[:github_path] %>.svg)](https://github.com/<%= @data[:github_path] %>)
10
10
  [![GitHub Stars](https://img.shields.io/github/stars/<%= @data[:github_path] %>.svg)](https://github.com/<%= @data[:github_path] %>)
11
11
  description: |
@@ -13,4 +13,9 @@ description: |
13
13
  > * configures <%= @data[:name] %>
14
14
  > * manages <%= @data[:name] %>
15
15
  > * configures service
16
+ after_dependencies: |
17
+ * foo dependency
18
+ after_handlers: |
19
+ ## Another Section
16
20
 
21
+ Lorem ipsum dolor sit atem ...
@@ -1,7 +1,6 @@
1
1
  ---
2
2
 
3
3
  - hosts: all
4
- sudo: yes
5
4
  roles:
6
5
  - <%= @data[:role_name] %>
7
6
  vars:
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ansible-role
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - franklin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-08 00:00:00.000000000 Z
11
+ date: 2016-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: git
@@ -74,6 +74,7 @@ executables:
74
74
  extensions: []
75
75
  extra_rdoc_files: []
76
76
  files:
77
+ - ".atomignore"
77
78
  - ".clog.toml"
78
79
  - ".editorconfig"
79
80
  - ".gitignore"
@@ -92,11 +93,12 @@ files:
92
93
  - templates/ansible/role/init/.clog.toml.tt
93
94
  - templates/ansible/role/init/.editorconfig
94
95
  - templates/ansible/role/init/.gitignore
95
- - templates/ansible/role/init/.travis.yml
96
+ - templates/ansible/role/init/.travis.yml.tt
96
97
  - templates/ansible/role/init/CHANGELOG.md
97
98
  - templates/ansible/role/init/LICENSE.tt
98
99
  - templates/ansible/role/init/Vagrantfile
99
100
  - templates/ansible/role/init/defaults/main.yml.tt
101
+ - templates/ansible/role/init/files/.empty_directory
100
102
  - templates/ansible/role/init/handlers/main.yml.tt
101
103
  - templates/ansible/role/init/meta/main.yml.tt
102
104
  - templates/ansible/role/init/meta/readme.yml.tt
@@ -107,7 +109,6 @@ files:
107
109
  - templates/ansible/role/init/tasks/service.yml.tt
108
110
  - templates/ansible/role/init/templates/etc/%name%.conf.j2
109
111
  - templates/ansible/role/init/tests/main.yml.tt
110
- - templates/ansible/role/init/tests/run.sh.tt
111
112
  - templates/ansible/role/init/vars/main.yml
112
113
  homepage: https://github.com/weareinteractive/gem-ansible-role
113
114
  licenses:
@@ -129,7 +130,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
129
130
  version: '0'
130
131
  requirements: []
131
132
  rubyforge_project:
132
- rubygems_version: 2.4.8
133
+ rubygems_version: 2.5.1
133
134
  signing_key:
134
135
  specification_version: 4
135
136
  summary: Command line snippets.
@@ -1,10 +0,0 @@
1
- ---
2
-
3
- language: ruby
4
- sudo: required
5
- services:
6
- - docker
7
- install:
8
- - docker pull franklinkim/ansible:ubuntu-trusty
9
- script:
10
- - docker run -v $(pwd):/opt/ansible franklinkim/ansible:ubuntu-trusty tests/run.sh
@@ -1,13 +0,0 @@
1
- #!/bin/bash
2
-
3
- # define variables
4
- ROLE_NAME=<%= @data[:role_name] %>
5
-
6
- # install dependencies
7
- # ansible-galaxy install galaxyuser.role_name
8
-
9
- # create role symnlink
10
- ln -s $(pwd) /usr/share/ansible/roles/$ROLE_NAME
11
-
12
- # run test playbooks
13
- ansible-playbook -vvvv -i 'localhost,' -c local $(pwd)/tests/main.yml