Greengrass nucleus lite - Amazon IoT Greengrass
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Greengrass nucleus lite

The Greengrass nucleus lite (aws.greengrass.NucleusLite) is a device runtime for constrained edge devices optimized for minimal memory footprint (uses less than 5MB RAM). It has been introduced with Amazon IoT Greengrass version 2.14.0 release and is backward compatible with Amazon IoT Greengrass generic components, Greengrass V2 API, and SDK.

The Greengrass nucleus lite is offered as an alternative to the common Greengrass nucleus (aws.greengrass.Nucleus) and can be used in heterogeneous fleets of Greengrass devices.

Versions

This component has the following versions:

  • 2.0.x

Operating system

This component can be installed on core devices that run the following operating systems:

  • Linux (distributions with systemd)

For more information, see Greengrass nucleus.

Requirements

Devices must meet certain requirements to install and run the Amazon IoT Greengrass nucleus lite and the Amazon IoT Greengrass Core software. For more information, see Setup guide.

  • 5MB of RAM space for the nucleus runtime.

  • 5MB of storage (disk/FLASH).

Additional system dependencies are documented in the Setup Guide.

The Greengrass nucleus component is supported to run in a VPC. To deploy this component in a VPC, the following is required:

  • The Greengrass nucleus must have connectivity to Amazon IoT data, Amazon IoT Credentials, and Amazon S3.

Compatibility

The Amazon IoT Greengrass nucleus lite is compatible with the Amazon IoT Greengrass v2 API (subset of) and supported SDKs. It does not depend on any specific language runtimes/VMs but components added to a deployment can require the presence of specific runtimes (e.g.: Java JVM, Python). For more information about what features are supported with Greengrass nucleus lite, see Greengrass feature compatibility.

Download and installation

You can download an apt package, build from source, use a Yocto layer, or download a pre-built Yocto image for compatible device (e.g., RaspberryPi). From the Amazon IoT Core Console you will be able to download a connection kit containing all the credentials and initial configuration for your device. Instructions on how to install are included in each specific distribution method.

You can also follow a tutorial to install the Amazon IoT Greengrass nucleus lite and explore Greengrass component development. For more information, see Tutorial: Getting started with Amazon IoT Greengrass V2.

Configuration

The nucleus provides the following configuration parameters. Some parameters require that the Amazon IoT Greengrass Core software restarts to take effect.

iotRoleAlias

The Amazon IoT role alias that points to a token exchange IAM role. The Amazon IoT credentials provider assumes this role to allow the Greengrass core device to interact with Amazon services. For more information, see Authorize core devices to interact with Amazon services.

iotDataEndpoint

The Amazon IoT data endpoint for your Amazon Web Services account.

iotCredEndpoint

The Amazon IoT credentials endpoint for your Amazon Web Services account.

greengrassDataPlanePort

The port to use for data plane connections. For more information, see Connect on port 443 or through a network proxy.

Important

You must specify a port where the device can make outbound connections. If you specify a port that is blocked, the device won't be able to connect to Amazon IoT Greengrass to receive deployments. Choose from the following options:

  • 443

  • 8443

  • Default: 8443

awsRegion

The Amazon Web Services Region to use.

runWithDefault

The system user to use to run components.

Important

When you deploy a change to this configuration parameter, the Amazon IoT Greengrass Core software restarts for the change to take effect.

This object contains the following information:

posixUser

The name or ID of the system user and, optionally, system group that the core device uses to run generic components. Specify the user and group separated by a colon (:) in the following format: user:group. The group is optional. If you don't specify a group, the Amazon IoT Greengrass Core software uses the primary group for the user. For example, you can specify ggc_user or ggc_user:ggc_group. For more information, see Configure the user that runs components.

Local log file

Messages are logged to stdout and log files are handled by systemd.

To view this component's logs
  • Use journalctl to view logs.

Changelog

Version

Changes

2.0.2

Bug fixes and improvements
  • Fixes dependencies of the apt packages to include cgroup-tools.

2.0.1

Bug fixes and improvements
  • Adds recipe variable interpolation support for Greengrass recipe's timeout section.

  • Adds support for ValidateAuthorizationToken IPC command for stream manager.

  • Fixes warnings from Fleet provisioning.

  • Adds retry and backoff to jobs listener.

  • General bug fixes and improvements.

2.0.0

Initial version.