JOD Configs
The JOD Agent use the configs/jod.yml
as main config file.
You can override default value, using the --configs
(or shorter -c
) params when you execute the JOD Agent from the command line.
This file contains all JOD Agent configurations as properties list. This list includes object's id and name, but also JCP urls and boolean properties to enable/disable communications.
caution
Do not update the object's id manually. It can create inconsistency with other JOD Agent's files.
If the JOD Agent instance is running, you must restart it to apply configs updates.
Properties list
Property | Default value | Description |
---|---|---|
jod.obj.name (JODOBJ_NAME) | "" | Object's name displayed to End User. If empty a random name will be generated. |
jod.obj.id_cloud (JODOBJ_IDCLOUD) | "" | Object's id, a 17 char length unique code. Do not edit it manually. |
jod.obj.id_hw (JODOBJ_IDHW) | "" | Object's hardware id, a 5 char length code generated once for each JOD Agent. |
jod.structure.path (JODSTRUCT_PATH) | configs/struct.jod | Path for the file that define object's structure. |
jod.comm.local.enabled (JODCOMM_LOCAL_ENABLED) | true | Set 'false' to disable the JOD Local Server and make object not reachable on local network (Direct Communication). |
jod.comm.local.discovery (JODCOMM_LOCAL_DISCOVERY) | Auto | Discovery system implementation, you can choose between different mDNS/Bonjour implementations. It can be one of the following values: Auto choose the discovery system depending the detected operating system Avahi use the Avahi daemon implementation, common on linux system DNSSD the default MacOS bonjour service JmDNS java mDNS implementation from jmdns library *JmmDNS java mDNS implementation from jmdns library (multiple interfaces version). |
jod.comm.local.port (JODCOMM_LOCAL_PORT) | 0 | JOD Local server port, if 0 a random port will be used. |
jod.comm.cloud.enabled (JODCOMM_CLOUD_ENABLED) | true | Set 'false' to disable the JOD Gateway O2S Client and make object not reachable via JCP (Cloud Communication). |
jcp.connect (JCP_CONNECT) | true | Set 'false' to prevent JOD Agent connection to John Cloud Platform. |
jcp.client.refresh (JCP_REFRESH_TIME) | 30 | Seconds between each JCP connection retry, when JCP is not available. |
jcp.client.ssl (JCP_SSL) | true | Set 'false' to disable SSL on communication with the JCP. |
jcp.client.id (JCP_CLIENT_ID) | "" | Valid client id for JCP authentication. Same JOSP Objects/Distribution share same client id. |
jcp.client.secret (JCP_CLIENT_SECRET) | "" | Secret associated to client id for JCP authentication. |
jcp.url.apis (JCP_URL_APIS) | api.johnosproject.org | Url to use as John Cloud Platform entrypoint |
jcp.url.auth (JCP_URL_AUTH) | auth.johnosproject.org | Url to use as JCP authentication service. |
jod.permissions.owner (JODPERM_OWNER) | 00000-00000-00000 | User to be considered as object's owner, if the object has no owner (like an AnonymousObject during the object's registration) his value is 00000-00000-00000 . |
jod.permissions.path (JODPERM_PATH) | configs/perms.jod | Path for the file where store object's permissions. |
jod.permissions.refresh (JODPERM_REFRESH) | 30 | Seconds between each permission updates check to the JCP. |
jod.permissions.generation_strategy (JODPERM_GENSTARTEGY) | standard | Permission generation strategy. It can be one of the following values: standard permission generated following standard permissions rules public permission generated following public permissions rules. |
jod.executor_mngr.pullers (JODPULLER_IMPLS) | "" | List of JOD Agent Puller's declarations. Each Puller config must be expressed in the following format {FirmwareProto}://{FirmwareConfigs} . |
jod.executor_mngr.listeners (JODLISTENER_IMPLS) | "" | List of JOD Agent Listener's declarations. Each Listener config must be expressed in the following format {FirmwareProto}://{FirmwareConfigs} . |
jod.executor_mngr.executors (JODEXECUTOR_IMPLS) | "" | List of JOD Agent Executor's declarations. Each Executor config must be expressed in the following format {FirmwareProto}://{FirmwareConfigs} . |
In the JOD source directory you can find some jod.yml
example file used in the JOD development.