cookbook 'users_sshkeys', '~> 0.1.0'
users_sshkeys (1) Versions 0.1.0 Follow1
Creates users from a databag search and install the keys from an encrypted databag
cookbook 'users_sshkeys', '~> 0.1.0', :supermarket
knife supermarket install users_sshkeys
knife supermarket download users_sshkeys
users_sshkeys Cookbook
Setup SSH keys for users from encrypted databag search.
Requirements
Platforms
- Debian, Ubuntu
- CentOS, Red Hat, Fedora
- FreeBSD
A data bag populated with user objects must exist. The default data
bag in this recipe is users
. See USAGE.
Usage
To include just the LWRPs in your cookbook, use:
include_recipe "users_sshkeys"
Use knife to create an encrypted data bag named 'users_sshkeys'
$ knife data bag create users_sshkeys username --secret-file /path/to/databag/encryption/key
Note: The ssh_keys attribute below can be either a String or an Array. However, Array is recommended.
{ "id": "username", "ssh_keys": "ssh-rsa AAAAB3Nz...yhCw== username", }
{ "id": "username", "ssh_keys": [ "ssh-rsa AAA123...xyz== foo", "ssh-rsa AAA456...uvw== bar" ], "ssh_private_key": "+-----BEGIN RSA PRIVATE KEY-----\nXAAddaQYq...\n-----END RSA PRIVATE KEY-----" }
Note this LWRP searches the users_sshkeys
and for every item in the data bag decrypts the item and sets up the SSH keys. The default action for the LWRP is :create
only.
If you have different requirements, for example:
- You want to search a different data bag specific to a role such as
mail. You may change the data_bag searched.
- data_bag
mail
- data_bag
Putting these requirements together our recipe might look like this:
users_sshkeys_manage "postmaster" do data_bag "mail" action :create end
Chef Solo
This cookbook might work with Chef Solo when using chef-solo-search by edelight.
Contributing
- Fork the repository https://github.com/ovaistariq/chef-cookbooks.git on Github
- Create a named feature branch (like
add_component_x
) - Write your change
- Write tests for your change (if applicable)
- Run the tests, ensuring they all pass
- Submit a Pull Request using Github
License & Authors
- Author: Ovais Tariq (me@ovaistariq.net)
(c) 2014, Ovais Tariq <me@ovaistariq.net> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
Dependent cookbooks
users >= 0.0.0 |
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
Collaborator Number Metric
0.1.0 failed this metric
Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.
Contributing File Metric
0.1.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
0.1.0 failed this metric
FC064: Ensure issues_url is set in metadata: users_sshkeys/metadata.rb:1
FC065: Ensure source_url is set in metadata: users_sshkeys/metadata.rb:1
FC066: Ensure chef_version is set in metadata: users_sshkeys/metadata.rb:1
FC074: LWRP should use DSL to define resource's default action: users_sshkeys/resources/manage.rb:1
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
0.1.0 passed this metric
Testing File Metric
0.1.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.1.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.1.0 failed this metric
0.1.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
0.1.0 failed this metric
FC064: Ensure issues_url is set in metadata: users_sshkeys/metadata.rb:1
FC065: Ensure source_url is set in metadata: users_sshkeys/metadata.rb:1
FC066: Ensure chef_version is set in metadata: users_sshkeys/metadata.rb:1
FC074: LWRP should use DSL to define resource's default action: users_sshkeys/resources/manage.rb:1
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
0.1.0 passed this metric
Testing File Metric
0.1.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.1.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.1.0 failed this metric
FC065: Ensure source_url is set in metadata: users_sshkeys/metadata.rb:1
FC066: Ensure chef_version is set in metadata: users_sshkeys/metadata.rb:1
FC074: LWRP should use DSL to define resource's default action: users_sshkeys/resources/manage.rb:1
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
0.1.0 passed this metric
Testing File Metric
0.1.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.1.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.1.0 failed this metric
0.1.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number