# Chef Infra Client installation

**URL:** <https://discourse.chef.io/t/chef-infra-client-installation/16708>\
**Category:** Chef Infra (archive)\
**Created:** [February 19, 2020, 4:14pm UTC](https://discourse.chef.io/t/chef-infra-client-installation/16708 "2020-02-19T16:14:09Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![andrewm659](https://avatars.discourse-cdn.com/v4/letter/a/439d5e/32.png) [@andrewm659](https://discourse.chef.io/u/andrewm659)\
**Post date:** [February 19, 2020, 4:14pm UTC](https://discourse.chef.io/t/chef-infra-client-installation/16708/1 "2020-02-19T16:14:09Z")

</div>

I am trying to setup my client nodes. I have been reading up on how to install the client. Seems the current way is still run the bootstrap. However I did see that there is a Chef Infra Client but the directions on how to install it and setup are kind of lacking. I would rather use that then the bootstrap method since I would have to technically generate an ssh key as root (or another user). Is there a way to use the new client and join it to the Chef Infra Server?

Specifically talking about this - [https://downloads.chef.io/chef/15.8.23](https://downloads.chef.io/chef/15.8.23)

---

<div class="post-metadata">

**Author:** ![Odysseaus](https://avatars.discourse-cdn.com/v4/letter/o/ccd318/32.png) [@Odysseaus](https://discourse.chef.io/u/Odysseaus)\
**Post date:** [February 19, 2020, 5:55pm UTC](https://discourse.chef.io/t/chef-infra-client-installation/16708/2 "2020-02-19T17:55:08Z")

</div>

Sure thing, you can install via script.  
[https://docs.chef.io/install\_omnibus.html](https://docs.chef.io/install_omnibus.html)  
Then you follow the rest of the configuration instructions under chef-client, client.rb and security. This will tell you how to connect your client to the chef infra server etc.

---

<div class="post-metadata">

**Author:** ![andrewm659](https://avatars.discourse-cdn.com/v4/letter/a/439d5e/32.png) [@andrewm659](https://discourse.chef.io/u/andrewm659)\
**Post date:** [February 19, 2020, 7:01pm UTC](https://discourse.chef.io/t/chef-infra-client-installation/16708/3 "2020-02-19T19:01:52Z")

</div>

What if I want to use the RPM?

---

<div class="post-metadata">

**Author:** ![MattRay](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/mattray/32/47_2.png) [@MattRay](https://discourse.chef.io/u/MattRay)\
**Post date:** [February 19, 2020, 10:33pm UTC](https://discourse.chef.io/t/chef-infra-client-installation/16708/4 "2020-02-19T22:33:16Z")

</div>

If you've got the RPM already installed and the validator.pem on the machine, you can follow this: [https://docs.chef.io/install\_bootstrap.html#bash-user-data](https://docs.chef.io/install_bootstrap.html#bash-user-data) All you really need is the client.rb (I don't think the validation\_client\_name is needed and I added policy\_name and policy\_group instead of a firstboot.json). I used this to re-bootstrap some nodes from Hosted Chef to a local Chef Server recently.

---

<div class="post-metadata">

**Author:** ![andrewm659](https://avatars.discourse-cdn.com/v4/letter/a/439d5e/32.png) [@andrewm659](https://discourse.chef.io/u/andrewm659)\
**Post date:** [February 20, 2020, 4:37pm UTC](https://discourse.chef.io/t/chef-infra-client-installation/16708/6 "2020-02-20T16:37:42Z")

</div>

Should I install the Chef Infra Client on my Chef Infra Server as well? I guess i'm not sure what the proper way to get the first server going that is NOT the infra server.

---

<div class="post-metadata">

**Author:** ![Tensibai](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/tensibai/32/29_2.png) [@Tensibai](https://discourse.chef.io/u/Tensibai)\
**Post date:** [February 20, 2020, 4:55pm UTC](https://discourse.chef.io/t/chef-infra-client-installation/16708/7 "2020-02-20T16:55:06Z")

</div>

@andrewm659 I recomend you to follow:

- [https://learn.chef.io/modules/manage-a-node-chef-server#/](https://learn.chef.io/modules/manage-a-node-chef-server#/)
- [https://learn.chef.io/modules/beyond-the-basics#/](https://learn.chef.io/modules/beyond-the-basics#/)

Roughly out of knife bootstrap the other method for a node to register to the chef-server is to have:

- chef-client installed
- a client.rb configured to point to your chef-server
- the validator.pem file for initial registration

The three points above is the summary of what knife bootstrap does for you.

On first run, chef-client check if it has a client.pem file, if not it will search the validator.pem file to register itself.

---

<div class="post-metadata">

**Author:** ![andrewm659](https://avatars.discourse-cdn.com/v4/letter/a/439d5e/32.png) [@andrewm659](https://discourse.chef.io/u/andrewm659)\
**Post date:** [February 20, 2020, 5:01pm UTC](https://discourse.chef.io/t/chef-infra-client-installation/16708/8 "2020-02-20T17:01:36Z")

</div>

I'll check it out.
