Apply a license in Chef Infra Client
This document outlines the licensing requirements and enforcement policies for Chef Infra Client 19.
Depending on the distribution you download and install, you may have to add a license key to run Chef Infra Client. You must also accept the Chef End User License Agreement (Chef EULA) when you first run Chef Infra Client 19.
Licensing requirements
Chef Infra Client 19 has different licensing requirements depending on the distribution you download.
No license enforcement
Chef Infra Client doesn’t require a license to run if you download an official distribution.
This includes:
- Downloading Infra Client from the customer portal.
- Installing the Infra Client Habitat package.
- Installing Infra Client using the migration tool or native installer.
License required
You need a license key to run Chef Infra Client when you:
- Download it from unofficial sources (public Ruby gem).
- Use runtime installations and workflows.
Add a license
Chef Infra Client has three ways to set a license:
- with an environment variable
- with a command line option
- with the command line interactive dialog
After setting a license key, Chef Infra Client validates it with Progress Chef’s licensing service.
Environment variable
You can set the license key adding the
CHEF_LICENSE_KEYenvironment variable:export CHEF_LICENSE_KEY=<LICENSE_KEY>
Command line option
You can set the license key using the
--chef-license-keyCLI option:chef-client --chef-license-key=<LICENSE_KEY>
Interactive license dialog
If you run a chef-client command and a license key isn’t already set, Chef Infra Client starts an interactive licensing dialog.
To set a license key with the CLI interactive dialog, follow these steps:
Verify the version of Chef Infra Client you have installed:
chef-client --versionIt should return version 19.0.54 or greater for Infra Client RC 1.
Run
chef-clientin local mode and why-run mode:chef-client --local-mode --why-runLocal mode runs Chef Infra Client on your local machine as if it were running against Chef Infra Server. why-run mode shows you what Chef Infra Client would configure if a Chef Infra Client run occurs.
At the first prompt, select I already have a license ID.
Please choose one of the options below (Press ↑/↓ arrow to move and Enter to select) ‣ I already have a license ID I don't have a license ID and would like to generate a new license ID SkipEnter your license key at the second prompt.
Please enter your license ID: <LICENSE_KEY> ✔ [Success] License validated successfully.After entering the license key, Chef Infra Client verifies your license and the run completes.
Accept the End User License Agreement
When you first run Chef Infra Client 19, you must accept the End User License Agreement (EULA).
Chef Infra Client accepts a license using a command line option, environment variable, or config file.
Options
Chef Infra Client accepts the following license acceptance options:
accept- Accept the license and attempts to persist a marker file locally. Persisting these marker files means future invocations don’t require accepting the license again.
accept-silent- Similar to
accept, but no messaging is sent to STDOUT. accept-no-persist- Similar to
accept-silent, but no marker file is persisted. Future invocation will require accepting the license again.
Command line option
Accept the Chef License with a command line invocation.
chef-client --chef-license <LICENSE_OPTION>
Environment variable
Accept the Chef License by setting an environment variable. For example:
export CHEF_LICENSE="<LICENSE_OPTION>"
chef-client OPTION VALUE
Config file
You can accept the Chef License with the Chef Infra Client or Knife config files.
On a workstation, you can set this in the ~/.chef/config.rb or ~/.chef/knife.rb files, and on a node you can set this in the /etc/chef/client.rb file.
chef_license "<LICENSE_OPTION>"