cookbook 'users_sshkeys', '~> 0.1.0', :supermarket
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'
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 14.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
0.1.0 passed this metric
Publish Metric
0.1.0 passed this metric
Supported Platforms 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 14.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
0.1.0 passed this metric
Publish Metric
0.1.0 passed this metric
Supported Platforms 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 14.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
0.1.0 passed this metric
Publish Metric
0.1.0 passed this metric
Supported Platforms 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 passed this 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 include a tag that matches this cookbook version number