Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 38 additions & 28 deletions content/install/license.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,8 @@ draft = false
weight = 30
+++

To use Chef InSpec 7, you need to [accept the Chef EULA](#accept-the-chef-eula).
Depending on the InSpec distribution you install, you need a [license](#add-a-license) to execute InSpec:

- The Chef Habitat package for InSpec 7 doesn't require a license to execute InSpec.
- The `inspec` gem requires a license to execute InSpec.

You can't manually enable or disable licensing. The licensing requirements are determined by the distribution.

If you'd like to try out Chef InSpec, you can [request a trial license](https://www.chef.io/licensing/inspec/license-generation-free-trial).

For more information, see [Chef's licensing documentation](https://docs.chef.io/licensing/).
To use Chef InSpec 7, you must [accept the Chef EULA](#accept-the-chef-eula).
Depending on how you obtained Chef InSpec, you may also need to [add a Progress Chef license key](#progress-chef-license).

## Accept the Chef EULA

Expand All @@ -28,7 +19,7 @@ You must accept the [Chef End User License Agreement (EULA)](https://www.chef.io
- [Use a command line option](#use-a-command-line-option)
- [Set an environment variable](#set-an-environment-variable)

If you don't set either, Chef InSpec prompts you to accept the EULA interactively. If the prompt can't be displayed, Chef InSpec exits with code 172.
If you don't use either method, Chef InSpec prompts you to accept the EULA interactively. If the prompt can't be displayed, Chef InSpec exits with code 172.

If Chef InSpec can't persist the accepted license, it sends a message to STDOUT and continues to run. You'll need to accept the license again the next time you run Chef InSpec.

Expand Down Expand Up @@ -71,22 +62,37 @@ Replace `<value>` with one of these options:
`accept-no-persist`
: Similar to `accept-silent`, but doesn't persist a marker file. You'll need to accept the license again for future runs.

## Add a license
## Progress Chef license

The `inspec` gem requires a license to execute.
You can add a license key in three ways:
### License key requirements

Chef InSpec 7 introduces an updated licensing model designed to simplify usage while maintaining compliance across distribution channels.

If you download InSpec from the following official Progress distribution channels, a license key isn't required to execute InSpec after it's installed:

- The Progress Download Portal
- Habitat-based package distribution
- The Chef Commercial Downloads API

If you download Chef InSpec from sources outside the official Progress distribution channels---such as public Ruby gems or other external repositories---a valid license may be required to execute the software.

For more information, see [Chef's licensing documentation](https://docs.chef.io/licensing/).

### Add a license key

If you downloaded Chef InSpec from sources outside the official Progress distribution channels, use one of the following methods to add a license key:

- [Use the interactive license dialog](#use-the-interactive-license-dialog)
- [command line option](#use-a-command-line-option-1)
- [environment variable](#set-an-environment-variable-1)
- [Use a command line option](#use-a-command-line-option-1)
- [Set an environment variable](#set-an-environment-variable-1)

{{< note >}}

If you're a commercial customer, you can use an asset serial number from the [Progress support portal](https://community.progress.com/s/products/chef) as your license key.

{{< /note >}}

### Use the interactive license dialog
#### Use the interactive license dialog

The easiest way to provide a license key is to run Chef InSpec.
If no license key is set and it doesn't detect an automated method of setting a license key, Chef InSpec starts an interactive licensing dialog.
Expand All @@ -100,17 +106,17 @@ To add a license with the interactive license dialog, follow these steps:

Chef InSpec validates your license key, displays license details, runs `inspec shell`, and stores the key for future use.

### Use a command line option
#### Use a command line option

Set the license key with the `--chef-license-key` option:

```sh
inspec exec <PROFILE_NAME> --chef-license-key <LICENSE_KEY>
```

Most of the main Chef InSpec CLI commands accept this argument, however some plugins don't support the flag.
Most Chef InSpec CLI commands accept this argument, but some plugins don't support the flag.

### Set an environment variable
#### Set an environment variable

Set the license key with the `CHEF_LICENSE_KEY` environment variable:

Expand All @@ -119,25 +125,25 @@ export CHEF_LICENSE_KEY=<LICENSE_KEY>
inspec exec <PROFILE_NAME>
```

## Add a license with Chef's Local License Service
### Add a license with Chef's Local License Service

For large or air-gapped fleets, you can retrieve a license key from a [Chef Local License Service](https://docs.chef.io/licensing/local_license_service/). With this service, you only need the service URLs.
For large or air-gapped fleets, you can retrieve a license key from a [Chef Local License Service](https://docs.chef.io/licensing/local_license_service/). With this service, you only need the Local License Service URL.
Chef InSpec requests license keys from the Local License Service and uses them during execution. Chef InSpec doesn't store these keys long-term.

You can set a Local License Service URL in two ways:

- [Use a command line option](#use-a-command-line-option-2)
- [Set an environment variable](#set-an-environment-variable-2)

### Use a command line option
#### Use a command line option

Set the Chef Local License Service URL with the `--chef-license-server` option:

```sh
inspec exec <PROFILE_NAME> --chef-license-server https://license-server.example.com
```

### Set an environment variable
#### Set an environment variable

Set the Chef Local License Service URL with the `CHEF_LICENSE_SERVER` environment variable:

Expand All @@ -146,7 +152,7 @@ export CHEF_LICENSE_SERVER=https://license-server.example.com
inspec exec <PROFILE_NAME>
```

#### Use multiple license servers
##### Use multiple license servers

You can set up to five Chef Local License Service URLs as a comma-separated list. Chef InSpec tries each URL and uses the first one that works.

Expand All @@ -155,9 +161,13 @@ export CHEF_LICENSE_SERVER=https://license-server-01.example.com,https://license
inspec exec <PROFILE_NAME>
```

Make sure you synchronize your license servers to avoid inconsistent results.
Synchronize your license servers to avoid inconsistent results.

## Trial license

If you'd like to try out Chef InSpec, you can [request a trial Progress Chef license](https://www.chef.io/licensing/inspec/license-generation-free-trial).

## Licensing Telemetry service
## Licensing telemetry service

The Chef Licensing Telemetry service gathers product activation, usage statistics, environment information, bugs, and other data related to Chef InSpec.

Expand Down
Loading