A simple cookbook that updates either /etc/ssh/config or ~/.ssh/config based on the contents of a data bag
chef-solo-search
- this cookbook uses search so the chef-solo-search cookbook is required if you are running chef-solo
Key | Type | Description | Default |
---|---|---|---|
['ssh-config']['config_file'] | String | The location of the config file to update (defaults to global config) | /etc/ssh/ssh_config |
['ssh-config']['identityfile_dir'] | String | Folder that should prefix all identityfile attribtues | ~/.ssh/keys |
Include ssh-config
in your node's run_list
:
{
"name":"my_node",
"run_list": [
"recipe[ssh-config]"
]
}
Create a data bag called ssh_config
with items like the below
{
"id": "example",
"hosts": [
{
"id": "webserver-1",
"identityfile": "webserver.pem",
"hostname": "10.0.0.1",
"user": "ubuntu",
"port": 22
}
]
}
All data bag items in the data bag will be included in the config. Any key/value pair for the items in hosts is valid, the only required one is id
- Fork the repository 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
Authors: Kieran Doonan