knife-acl 1.0.0.beta.1 → 1.0.0.beta.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d94170663f35d268be7edd8344efc0b1f52bd5f2
4
- data.tar.gz: ad46530c182bb39277b79c18c1365cb2a2b89e3d
3
+ metadata.gz: 174599014d6ef8d93702ff667cb9b7fd9bc6e055
4
+ data.tar.gz: 07e002e9237edca95c83b94dff0d8cf17ab0869f
5
5
  SHA512:
6
- metadata.gz: e78525e9f800876951c11b1aaf1bd1a4cab4ddbe144a96330cb7bdcd900be6b86beb2eef872d1f7f994e8c24193768582cf3e35fa175f4723204d5c04c9c01ce
7
- data.tar.gz: 422f96f8129d6adc045226f3ed25f1157c3f946867f1b41ab687857c04f641b79642625afcd3262c7432c698fd171cfc77abe554f3940efc125960904d340225
6
+ metadata.gz: fe7443471d7a78e690ed917451b4b5528832a1920973a6e4b3431c42ff29e32a133efe718568d9307543b6584c5c31f1e87ea384674e51be3cc1bbce4a61a6ec
7
+ data.tar.gz: 9d1e77debcb4f99cf83bf2ace9e166fc374bf070bb8abc3bec2b5f0b892d354926e8ad9253b174561002248225febeeb42688be40d6c85e7ee3c6a068dd56b03
data/README.md CHANGED
@@ -9,30 +9,18 @@ All commands assume a working knife configuration for an admin user of a Chef or
9
9
 
10
10
  Reference:
11
11
 
12
- 1. [Chef Server Permissions](http://docs.chef.io/server/server_orgs.html#permissions)
13
- 2. [Chef Server Groups](http://docs.chef.io/server/server_orgs.html#groups)
12
+ 1. [Chef Server Permissions PDF](https://github.com/chef/chef-server/blob/master/doc/ChefServerPermissions_v1.3.pdf)
13
+ 2. [Chef Server Permissions Docs](http://docs.chef.io/server/server_orgs.html#permissions)
14
+ 3. [Chef Server Groups Docs](http://docs.chef.io/server/server_orgs.html#groups)
14
15
 
15
- ## Installation
16
-
17
- This knife plugin is packaged as a gem. To install it, enter the
18
- following:
16
+ ### Installation
19
17
 
20
18
  The 1.0.0.beta version of knife-acl is currently recommended so be sure
21
19
  to tell the gem command to install the prerelease.
22
20
 
23
- #### ChefDK installed on a workstation
24
- chef gem install knife-acl --pre
25
-
26
- #### Omnibus installed chef on a workstation
27
- /opt/chef/embedded/bin/gem install knife-acl --pre
28
-
29
- #### Gem installed chef on a workstation
30
- gem install knife-acl --pre
31
-
32
- #### Opscode Enterprise Chef (OPC) Directly on the active backend
33
- as root:
21
+ Install into [Chef DK](https://downloads.chef.io/chef-dk/).
34
22
 
35
- /opt/opscode/embedded/bin/gem install knife-acl --pre
23
+ chef gem install knife-acl --pre
36
24
 
37
25
  ### _Warning about Users group_
38
26
 
@@ -76,12 +64,13 @@ default values.
76
64
 
77
65
  #### Permissions Management Best Practice
78
66
 
79
- The best practice for managing permissions is to only add a group to an objects' permissions.
80
- Then you can simply add (or remove) users or clients to the group to give the user or client
81
- a particular set of permissions. This is much easier to maintain when compared to adding
82
- individual users or clients to each objects' permissions.
67
+ The best practice for managing permissions is to only add clients and groups to an objects' permissions.
68
+
69
+ Adding a user to an objects' permissions is possible by first adding the group to the permissions and
70
+ then adding the user to the group. This is much easier to maintain when compared to adding
71
+ individual users to each objects' permissions.
83
72
 
84
- To enforce this the `knife acl add` and `knife acl bulk add` commands can only add a group
73
+ To enforce this the `knife acl add` and `knife acl bulk add` commands can only add a client or a group
85
74
  to an objects' permissions.
86
75
 
87
76
  If a group ever needs to be removed from the permissions of all objects the group can simply
@@ -233,12 +222,17 @@ named "web.example.com":
233
222
 
234
223
  knife acl show nodes web.example.com
235
224
 
236
- ## knife acl add group GROUP_NAME OBJECT_TYPE OBJECT_NAME PERMS
225
+ ## knife acl add MEMBER_TYPE MEMBER_NAME OBJECT_TYPE OBJECT_NAME PERMS
237
226
 
238
- The best practice is to only add groups to ACLs. To enforce this best practice
239
- the `knife acl add` command is only able to add groups to ACLs.
227
+ The best practice is to only add clients and groups to ACLs. To enforce this best practice
228
+ the `knife acl add` command is only able to add a client or a group to ACLs.
229
+
230
+ Valid `MEMBER_TYPE` values are
240
231
 
241
- Add `GROUP_NAME` to the `PERMS` access control entry of the `OBJECT_NAME`.
232
+ - client
233
+ - group
234
+
235
+ Add `MEMBER_NAME` to the `PERMS` access control entry of `OBJECT_NAME`.
242
236
  Objects are specified by the combination of their type and name.
243
237
 
244
238
  Valid `OBJECT_TYPE` values are
@@ -268,12 +262,17 @@ the ability to delete and update the node called "web.example.com":
268
262
 
269
263
  knife acl add group superusers nodes web.example.com delete,update
270
264
 
271
- ## knife acl bulk add group GROUP_NAME OBJECT_TYPE REGEX PERMS
265
+ ## knife acl bulk add MEMBER_TYPE MEMBER_NAME OBJECT_TYPE REGEX PERMS
266
+
267
+ The best practice is to only add clients and groups to ACLs. To enforce this best practice
268
+ the `knife acl bulk add` command is only able to add a client or a group to ACLs.
272
269
 
273
- The best practice is to only add groups to ACLs. To enforce this best practice
274
- the `knife acl bulk add` command is only able to add groups to ACLs.
270
+ Valid `MEMBER_TYPE` values are
271
+
272
+ - client
273
+ - group
275
274
 
276
- Add `GROUP_NAME` to the `PERMS` access control entry for each object in a
275
+ Add `MEMBER_NAME` to the `PERMS` access control entry for each object in a
277
276
  set of objects of `OBJECT_TYPE`.
278
277
 
279
278
  The set of objects are specified by matching the objects' names with the
@@ -31,12 +31,12 @@ module OpscodeAcl
31
31
 
32
32
  if name_args.length != 5
33
33
  show_usage
34
- ui.fatal "You must specify the member type [group], member name, object type, object name and perms"
34
+ ui.fatal "You must specify the member type [client|group], member name, object type, object name and perms"
35
35
  exit 1
36
36
  end
37
37
 
38
- unless member_type == 'group'
39
- ui.fatal "ERROR: To enforce best practice, knife-acl can only add a group to an ACL."
38
+ unless %w(client group).include?(member_type)
39
+ ui.fatal "ERROR: To enforce best practice, knife-acl can only add a client or a group to an ACL."
40
40
  ui.fatal " See the knife-acl README for more information."
41
41
  exit 1
42
42
  end
@@ -31,12 +31,12 @@ module OpscodeAcl
31
31
 
32
32
  if name_args.length != 5
33
33
  show_usage
34
- ui.fatal "You must specify the member type [group], member name, object type, object name REGEX and perms"
34
+ ui.fatal "You must specify the member type [client|group], member name, object type, object name REGEX and perms"
35
35
  exit 1
36
36
  end
37
37
 
38
- unless member_type == 'group'
39
- ui.fatal "ERROR: To enforce best practice, knife-acl can only add a group to an ACL."
38
+ unless %w(client group).include?(member_type)
39
+ ui.fatal "ERROR: To enforce best practice, knife-acl can only add a client or a group to an ACL."
40
40
  ui.fatal " See the knife-acl README for more information."
41
41
  exit 1
42
42
  end
@@ -1,3 +1,3 @@
1
1
  module KnifeACL
2
- VERSION = "1.0.0.beta.1"
2
+ VERSION = "1.0.0.beta.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: knife-acl
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.beta.1
4
+ version: 1.0.0.beta.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Seth Falcon
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-04-23 00:00:00.000000000 Z
12
+ date: 2015-11-05 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Knife plugin to manupulate Chef server access control lists
15
15
  email: support@chef.io
@@ -59,7 +59,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
59
59
  version: 1.3.1
60
60
  requirements: []
61
61
  rubyforge_project:
62
- rubygems_version: 2.4.4
62
+ rubygems_version: 2.4.8
63
63
  signing_key:
64
64
  specification_version: 4
65
65
  summary: Knife plugin to manupulate Chef server access control lists