Configuration Files
thin-edge.io requires config files for its operation. The tedge init
command is used to create
the base directory and other directories inside the base directory with appropriate user and permissions.
The tedge-mapper
and tedge-agent
will create the config
directories/files inside the base directory that are required for their operation on startup.
By default, the config files are created in /etc/tedge
directory. To create the config files in
a custom base directory one has to use --config-dir <Path to base directory>
option.
Creating config files​
The config files are created using tedge init
as below.
sudo tedge init
All the directories will be created in the /etc/tedge
directory. The directories layout looks as below.
ls -l /etc/tedge
total 16
drwxrwxr-x 2 mosquitto mosquitto 4096 Jun 10 14:49 device-certs
drwxrwxr-x 2 mosquitto mosquitto 4096 Jun 10 14:49 mosquitto-conf
drwxrwxr-x 2 tedge tedge 4096 Jun 10 14:49 operations
drwxrwxr-x 2 tedge tedge 4096 Jun 10 14:49 plugins
Use the below command to create the config directories in a custom directory.
sudo tedge --config-dir /global/path/to/config/dir init
Now all the config directories will be created inside the /global/path/to/config/dir
directory.
The directories and files that are required by the tedge-mapper
are created as below.
sudo tedge-mapper c8y
ls -l /etc/tedge/operations/c8y
total 0
-rw-r--r-- 1 tedge tedge 0 Jun 14 14:37 c8y_Restart
-rw-r--r-- 1 tedge tedge 0 Jun 14 14:37 c8y_SoftwareUpdate
To create these directories in a custom directory, use --config-dir
option as below.
sudo tedge-mapper --config-dir /global/path/to/config/dir c8y
The directories and files that are required by the tedge-agent
are created on startup as follows:
ls -l /etc/tedge/.agent
-rw-r--r-- 1 tedge tedge 0 Jun 15 11:51 /etc/tedge/.agent/current-operation
ls -l /var/tedge/
drwxr-xr-x 2 tedge tedge 0 Jun 15 11:51 /var/tedge/file-transfer
To create these directories and files in a custom directory, use the --config-dir
option as below as below.
sudo tedge-agent --config-dir /global/path/to/config/dir
Manage the configuration parameters​
The configuration parameters can be set/unset/list in a config file as below
For example, the config parameter can be set as below.
sudo tedge config set c8y.url your.cumulocity.io
Now the configuration will be added into /etc/tedge/tedge.toml
Use the below command to set/unset/list configuration parameters in a config file that is present in a custom directory.
sudo tedge --config-dir /global/path/to/config/dir config set c8y.url your.cumulocity.io
Now the config will be set in /global/path/to/config/dir/tedge/tedge.toml
Manage the certificate​
To create/remove/upload the certificate, one can use the below command.
sudo tedge cert create --device-id thinedge
Certificate was successfully created
Find the certificates that are created as below.
ls -l /etc/tedge/device-certs/
total 8
-r--r--r-- 1 mosquitto mosquitto 638 Jun 14 14:38 tedge-certificate.pem
-r-------- 1 mosquitto mosquitto 246 Jun 14 14:38 tedge-private-key.pem
Use the below command to create/remove/upload the certificate.
sudo tedge --config-dir /global/path/to/config/dir cert create --device-id thinedge
Find the certificates that are created as below.
ls -l /global/path/to/config/dir/tedge/device-certs/
total 8
-r--r--r-- 1 mosquitto mosquitto 638 Jun 14 14:38 tedge-certificate.pem
-r-------- 1 mosquitto mosquitto 246 Jun 14 14:38 tedge-private-key.pem
Connecting to the cloud​
Use thetedge connect c8y/az/aws
command to connect to the cloud using the default configuration files
that are present in /etc/tedge
.
To connect to the cloud with config files that are present in a custom location use
the tedge connect --config-dir <Path to custom dir> c8y/az/aws
option.
This is a two step process.
Step 1: Update the mosquitto.conf​
Since the bridge configuration files for Cumulocity IoT, Azure IoT Hub or AWS IoT will be created in a directory given through --config-dir
,
the path to the bridge configuration files (tedge-mosquitto.conf, c8y/az/aws-bridge.conf) must be found by mosquitto
.
So, the below line has to be added to your mosquitto.conf
file manually.
include_dir /global/path/to/config/dir/tedge/mosquitto-conf
Step 2: tedge connect using a custom config directory​
Use the below command to connect to Cumulocity IoT, Azure IoT Hub or AWS IoT
cloud using --config-dir
sudo tedge --config-dir /global/path/to/config/dir connect c8y/az/aws
Here the path/to/config/dir
is the directory where the configuration files are present.