Skip to content

Commit 96b4d4c

Browse files
chore: fix spacing in README (#1664)
1 parent d605a1d commit 96b4d4c

File tree

1 file changed

+28
-24
lines changed

1 file changed

+28
-24
lines changed

README.md

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,47 @@
11
# Greengrass Nucleus
2+
23
[![Java CI](https://github.com/aws-greengrass/aws-greengrass-nucleus/actions/workflows/maven.yml/badge.svg?branch=main&event=push)](https://github.com/aws-greengrass/aws-greengrass-nucleus/actions/workflows/maven.yml)
34

4-
### *Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.*
5-
#### *SPDX-License-Identifier: Apache-2.0*
5+
### _Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved._
6+
7+
#### _SPDX-License-Identifier: Apache-2.0_
68

79
The Greengrass nucleus component provides functionality for device side orchestration of deployments and lifecycle management for execution of Greengrass components and applications. This includes features such as starting, stopping, and monitoring execution of components and apps, interprocess communication server for communication between components, component installation and configuration management. It manages the model that describes the
8-
software running on the device. The model is a dependency graph of *services*. Services have three primary aspects:
10+
software running on the device. The model is a dependency graph of _services_. Services have three primary aspects:
911

10-
* Configuration
11-
* Dependencies on other services
12-
* A set of lifecycle phases in the form of a finite state machine.
12+
- Configuration
13+
- Dependencies on other services
14+
- A set of lifecycle phases in the form of a finite state machine.
1315

14-
A *service* may have processes, threads, code, network connections, ... But not
15-
necessarily. Some have all of these, some have only one.
16+
A _service_ may have processes, threads, code, network connections, ... But not
17+
necessarily. Some have all of these, some have only one.
1618

1719
You can think of the nucleus as a mash-up of `make`, a super-lightweight publish/subscribe system, and a small
18-
hierarchic key-value data store. The various services have continuously varying states that the nucleus monitors and manages.
19-
A dependent service is not started until its dependencies are started, and if they become unstable, the dependent service is notified.
20-
The internal interconnections are handled via dependency injection. Restarts are managed automatically.
20+
hierarchic key-value data store. The various services have continuously varying states that the nucleus monitors and manages.
21+
A dependent service is not started until its dependencies are started, and if they become unstable, the dependent service is notified.
22+
The internal interconnections are handled via dependency injection. Restarts are managed automatically.
2123

22-
When configuration changes, all users of them are notified. Everything adapts continuously.
24+
When configuration changes, all users of them are notified. Everything adapts continuously.
2325

2426
### A quick tour through com.aws.greengrass
25-
1. [**config**](src/main/java/com/aws/greengrass/config) Manages the system configuration (model). It's
26-
fundamentally a hierarchic key-value store with timestamps. It can be serialized to/from yaml, json, or a
27-
transaction log. The transaction log can be replayed to reconstruct the config, or streamed live to another
28-
process to maintain a mirror. The terminology is borrowed from the world of publish/subscribe systems. Config
29-
values can have validators and watcher.
30-
2. [**dependency**](src/main/java/com/aws/greengrass/dependency) The dependency injection framework. The meat is in
31-
`context.java` which contains a Map of known objects, and the ability to get (and magically create) objects from the
32-
Context. When an object is created by the framework, it does dependency injection. If the created object
33-
participates in the Lifecycle framework, its lifecycle is initiated. This feeds the Lifecycle dependency graph.
34-
3. [**lifecyclemanager**](src/main/java/com/aws/greengrass/lifecyclemanager) Ties the model to Lifecycle objects in the dependency graph. The
35-
primary class is `GreengrassService`, which contains most of the state transition logic. `GenericExternalService` is a
36-
subclass that implements a service whose behavior is defined by commands and scripts. Either of these classes may be
27+
28+
1. [**config**](src/main/java/com/aws/greengrass/config) Manages the system configuration (model). It's
29+
fundamentally a hierarchic key-value store with timestamps. It can be serialized to/from yaml, json, or a
30+
transaction log. The transaction log can be replayed to reconstruct the config, or streamed live to another
31+
process to maintain a mirror. The terminology is borrowed from the world of publish/subscribe systems. Config
32+
values can have validators and watcher.
33+
2. [**dependency**](src/main/java/com/aws/greengrass/dependency) The dependency injection framework. The meat is in
34+
`context.java` which contains a Map of known objects, and the ability to get (and magically create) objects from the
35+
Context. When an object is created by the framework, it does dependency injection. If the created object
36+
participates in the Lifecycle framework, its lifecycle is initiated. This feeds the Lifecycle dependency graph.
37+
3. [**lifecyclemanager**](src/main/java/com/aws/greengrass/lifecyclemanager) Ties the model to Lifecycle objects in the dependency graph. The
38+
primary class is `GreengrassService`, which contains most of the state transition logic. `GenericExternalService` is a
39+
subclass that implements a service whose behavior is defined by commands and scripts. Either of these classes may be
3740
subclassed to provide services whose behavior is defined by code running within Greengrass.
3841
4. [**util**](src/main/java/com/aws/greengrass/util) A grab-bag of useful utilities.
3942

4043
### Learn more
44+
4145
1. [Greengrass Nucleus Configuration Schema](README_CONFIG_SCHEMA.md)
4246
1. [Data Model - Component Recipe](https://github.com/aws-greengrass/aws-greengrass-component-common/blob/main/RECIPE_REFERENCE.md)
4347
1. [Configure a component](CONFIGURE_COMPONENT_README.md)

0 commit comments

Comments
 (0)