Skip to main content

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

PropertyDefault valueDescription
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.jodPath for the file that define object's structure.
jod.comm.local.enabled
(JODCOMM_LOCAL_ENABLED)
trueSet 'false' to disable the JOD Local Server and make object not reachable on local network (Direct Communication).
jod.comm.local.discovery
(JODCOMM_LOCAL_DISCOVERY)
AutoDiscovery 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)
0JOD Local server port, if 0 a random port will be used.
jod.comm.cloud.enabled
(JODCOMM_CLOUD_ENABLED)
trueSet 'false' to disable the JOD Gateway O2S Client and make object not reachable via JCP (Cloud Communication).
jcp.connect
(JCP_CONNECT)
trueSet 'false' to prevent JOD Agent connection to John Cloud Platform.
jcp.client.refresh
(JCP_REFRESH_TIME)
30Seconds between each JCP connection retry, when JCP is not available.
jcp.client.ssl
(JCP_SSL)
trueSet '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.orgUrl to use as John Cloud Platform entrypoint
jcp.url.auth
(JCP_URL_AUTH)
auth.johnosproject.orgUrl to use as JCP authentication service.
jod.permissions.owner
(JODPERM_OWNER)
00000-00000-00000User 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.jodPath for the file where store object's permissions.
jod.permissions.refresh
(JODPERM_REFRESH)
30Seconds between each permission updates check to the JCP.
jod.permissions.generation_strategy
(JODPERM_GENSTARTEGY)
standardPermission 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.